Есть ли способ "заблокировать" область просмотра в vim?

1624
breadjesus

Недавно я начал использовать Vim с NERDTree. Раздражает то, что когда я закрываю буфер, NERDTree расширяется, чтобы заполнить остальную часть экрана, и мне приходится открывать другой файл и снова открывать NERDTree, чтобы вернуть его к старому макету.

Есть ли способ «заблокировать» NERDTree на месте? В идеале закрытие буфера заменяет его другим скрытым буфером или открывает новый пустой буфер, если другие буферы не открыты.

Спасибо!

8

3 ответа на вопрос

4
opsb

Взгляните на http://github.com/carlhuda/janus, это настраиваемая версия vim, которая позволяет держать ботаник слева заблокированным. Он также включает в себя множество других популярных плагинов, таких как command-t, ctags и ack.

Или, если вы не хотите использовать весь этот дистрибутив, вы можете просто подключить ту часть этого vimrc, которая поддерживает NERDTree для вас. Это довольно гладко! ELLIOTTCABLE 12 лет назад 1
Хороший звонок - кажется, что он находится в [janus / vim / tools / janus / after / plugin / nerdtree.vim] (https://github.com/carlhuda/janus/blob/master/janus/vim/tools/janus/ после того, как / плагин / nerdtree.vim). James McLaughlin 10 лет назад 0
Хорошо, [это] (https://gist.github.com/udp/5635717) - это то, что я вставил в свой vimrc, и он работает как удовольствие. Большое спасибо! James McLaughlin 10 лет назад 0
2
akira

Не думаю. единственное решение, которое приходит на ум, - это создать новое связывание клавиш, которое

  • : vnew
  • Ctrl-W слева
  • ctrl-w q

вместо того, чтобы просто закрыть текущий буфер.

Отстой, что вы не можете это сделать, хотя это решение - очень хороший обходной путь. Спасибо! breadjesus 13 лет назад 0
2
idbrii

Попробуй bufkill . Он построен, чтобы решить именно эту проблему.

Вместо того, :bdчтобы закрыть свой буфер, вы используете :BD. Это предотвращает закрытие окна только потому, что вы убили буфер. Если нет другого доступного буфера для его замены, открывается пустой буфер.