На самом деле мой последний ответ не работает, потому что как только NERDTree было открыто, оно не открывается снова в новом буфере dir.Он должен работать аналогично NERDTreeFind, но у него нет функции переключения.
Я сделал функцию и сопоставил ее с моим ключом, и теперь она отлично работает даже при открытии проекта Ruby, если у вас есть плагин vim-rails.
Добавьте это к вашему vimrc:
function! NTFinderP()
"" Check if NERDTree is open
if exists("t:NERDTreeBufName")
let s:ntree = bufwinnr(t:NERDTreeBufName)
else
let s:ntree = -1
endif
if (s:ntree != -1)
"" If NERDTree is open, close it.
:NERDTreeClose
else
"" Try to open a :Rtree for the rails project
if exists(":Rtree")
"" Open Rtree (using rails plugin, it opens in project dir)
:Rtree
else
"" Open NERDTree in the file path
:NERDTreeFind
endif
endif
endfunction
"" Toggles NERDTree
map <silent> <F1> :call NTFinderP()<CR>
Это должно работать сейчас.
Предыдущий ответ ниже:
Вы можете сопоставить ключ, который вы используете, чтобы открыть NERDTree, как это (в .vimrc):
map <silent> <F1> :NERDTreeToggle %:p:h<CR>
Это отображает мою клавишу F1 для переключения (открывать / закрывать) NERDTree, используя путь к текущему активному буферу.Если буфер не открыт, он открывается в текущем каталоге Macvim.