Проблема:
- В VIM откройте NERDTree
- Выберите файл и откройте его в новом буфере (Enter)
- Сделайте некоторую работу с буфером и сохраните его
- Удалите буфер с помощью: bd
Теперь NERDTree занимает все окно - само по себе это не проблема, но ...
- Перейти к следующему буферу с помощью: bnext
- Продолжить работу
- Теперь попробуйте снова открыть NERDTree, нажав Ctrl-N
Вы видите, NERDTree остается «развернутым», и вы должны изменить его размер.
Моя попытка решить эту проблему:
Мой подход заключался в том, что указано в заголовке: закрыть NERDTreeавтоматически при удалении буфера, а затем снова открывать его при вводе другого.
function! g:CloseNERDTree()
if exists("g:NERDTree") && g:NERDTree.IsOpen()
NERDTreeClose
else
echo "already closed"
endif
endfunction
autocmd BufDelete * call CloseNERDTree()
function! g:OpenNERDTree()
if exists("g:NERDTree") && g:NERDTree.IsOpen()
echo "already open"
else
NERDTree
endif
endfunction
autocmd BufEnter * call OpenNERDTree()
Это приводит к тому, что VIM становится непригодным для использования, и моих знаний VimScript недостаточно, чтобы знать, что происходит.