63 votes

Comment rafraîchir le plugin NERDTree ?

Lorsque j'ouvre un fichier dans vim avec (répertoire A dans) NERDTree cela fonctionne bien.

Mais si j'ouvre un autre fichier dans un autre répertoire (répertoire B), il ne se rafraîchit pas pour afficher le contenu du répertoire B (alors qu'il affiche toujours le répertoire A).

Can NERDTree se rafraîchit automatiquement ?

103voto

John Smith Points 1006

Desde https://gist.github.com/geekontheway/2667442 : il suffit d'appuyer sur le bouton r o R pour rafraîchir l'arbre actuel. Pourrait être mis en correspondance avec le rafraîchissement automatique dans .vimrc

11voto

Sheharyar Points 2063

Keymap pour rafraîchir NERDTree

Au lieu de passer à la NERDTree fenêtre, en frappant R et revenir en arrière, j'utilise une carte personnalisée qui le fait pour moi :

nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>

Une fois réglé, appuyez sur Leader + r rafraîchirait NERDTree .


Nota: Puisque j'utilise également CtrlP, ma carte de clés actuelle comporte une dernière étape pour rafraîchir CtrlP après avoir rafraîchi NERDTree

7voto

Eric Carlson Points 31

Je détestais l'idée de devoir rafraîchir manuellement mon plugin NERDTree. J'ai donc ajouté ceci à mon .vimrc :

map <C-n> :call NERDTreeToggleAndRefresh()<CR>

function NERDTreeToggleAndRefresh()
  :NERDTreeToggle
  if g:NERDTree.IsOpen()
    :NERDTreeRefreshRoot
  endif
endfunction

Maintenant, NERDTree se rafraîchit chaque fois que je l'ouvre.

5voto

suhair Points 5223

Après avoir ouvert le nouveau fichier, il suffit de lancer la commande :NERDTreeFind commande. Elle sélectionnera le nœud du fichier d'édition actuel dans le NerdTree. Si le noeud n'existe pas, le NerdTree initialisera un nouvel arbre avec la racine comme répertoire du fichier courant.

Vous pouvez utiliser la commande automatique pour suivre le répertoire pendant l'ouverture de vim.

au VimEnter * NERDTreeFind

2voto

Luis Alejandro Points 126

Pour tous ceux qui voient cela en 2016, cela a fonctionné pour moi :

autocmd CursorHold,CursorHoldI * call NERDTreeFocus() | call g:NERDTree.ForCurrentTab().getRoot().refresh() | call g:NERDTree.ForCurrentTab().render() | wincmd w

Profitez-en !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X