En fait, ma dernière réponse ne fonctionne pas, car une fois l'NERDTree été ouvert, il ne s'ouvre plus dans le nouveau répertoire tampon. Il doit fonctionner de manière similaire à NERDTreeFind mais il ne possède pas de fonctionnalité Toggle.
J'ai fait une fonction et l'ai mappée à ma clé et maintenant cela fonctionne parfaitement même en ouvrant le projet Ruby si vous avez le plugin vim-rails.
Ajouter à votre 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>
Il devrait maintenant fonctionner.
Réponse précédente ci-dessous:
Vous pouvez mapper la clé que vous utilisez pour ouvrir NERDTree comme celui-ci (en Vimrc):
map <silent> <F1> :NERDTreeToggle %:p:h<CR>
Mappe ma touche F1 pour bascule (ouvrir/fermer) NERDTree en utilisant le chemin du tampon actuellement actif. Si aucun tampon n'est ouvert, il s'ouvre dans le répertoire Macvim actuellement lancé.
+1 solution beaucoup plus propre que la mienne :) – kfl62