vim/NERDtree/folding — может запомнить состояние складок?

Есть ли способ заставить NERDtree запоминать состояние складок при переключении с буфера на буфер?

Вот мой полный .vimrc:

set ignorecase
set scs
let perl_fold=1
hi Folded cterm=bold ctermfg=yellow ctermbg=lightblue
set modeline

cabbr N NERDTree

Вот что я наблюдаю:

  • запустить NERDTree
  • выберите файл и используйте пробел, чтобы открыть его в новом буфере (все складки закрыты)
  • открыть несколько складок в буфере
  • C-w w вернуться к NERDTree
  • выберите другой файл, используйте пробел, чтобы открыть его
  • C-w w вернуться к NERDTree
  • выберите первый файл, нажмите пробел

Складки, которые я открыл изначально, теперь закрыты. Я редактирую perl-файлы, поэтому действует параметр perl_fold=1. Я бы хотел, чтобы состояние складок запоминалось, когда я прыгаю от файла к файлу.


person ErikR    schedule 28.08.2011    source источник


Ответы (1)


Вы уверены в сопоставлении <Space>? Я не вижу его в справке NERDTree.

В любом случае, NERDTree не имеет ничего общего с содержимым или состоянием ваших буферов, это всего лишь файловый менеджер.

Без какого-либо механизма для сохранения состояния ваших буферов ваши складки теряются при открытии нового файла. К счастью, вы можете добавить set hidden в свой .vimrc.

При этом буферы сохраняются до тех пор, пока вы явно не удалите их с помощью :bd. Это означает, что у вас все еще есть складки при возврате к предыдущему файлу либо с помощью NERDTree, либо с помощью :b <Tab>.

В вики Vim есть хороший страницы о буферах.

person romainl    schedule 28.08.2011
comment
Спасибо! set hidden делает свое дело. кстати - дважды проверил, и пробел в NERDTree открывает файл в окне справа. - person ErikR; 28.08.2011