Comment ajouter NERDTree à mon fichier .vimrc ?
Je ne sais pas pourquoi mais cela ne fonctionne pas pour moi. Je dois appeler :NERDTreeToggle dans vim pour afficher nerdtree de toute façon.
Comment ajouter NERDTree à mon fichier .vimrc ?
D'accord, la version précédente était un peu laconique, mais la réponse que vous cherchez est d'ajouter la ligne ci-dessous dans votre fichier ~/.vimrc
fichier. Il indique à Vim que vous voulez configurer une commande à exécuter au démarrage de Vim, mais comme elle dépend du chargement de divers plugins, vous ne voulez pas l'exécuter avant que l'initialisation soit terminée :
autocmd VimEnter * NERDTree
Si, toutefois, vous êtes ennuyé par le fait que le curseur commence toujours dans la fenêtre NERDTree, vous pouvez ajouter une deuxième autocommande qui déplacera le curseur dans la fenêtre principale :
autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
Je ne sais pas pourquoi mais cela ne fonctionne pas pour moi. Je dois appeler :NERDTreeToggle dans vim pour afficher nerdtree de toute façon.
Si vous utilisez un script comme vimpager, vous devez déplacer ces lignes dans votre fichier de configuration. /.vim/after/plugin/NERD_tree.vim
script, afin qu'il n'essaie pas de s'exécuter avec des plugins désactivés.
Êtes-vous sur un système Windows ou unix-y ?
Si vous êtes sur un système unix-y, vous mettez les plugins dans le dossier ~/.vim/plugin
. Voici à quoi ressemble mon répertoire de plugins :
$ ls ~/.vim/plugin
NERD_tree.vim scratch.vim scratchfind.vim
Après cela, il commence à fonctionner tout de suite. Essayez de lancer vim comme ceci :
$ vim .
Cela devrait ouvrir le répertoire actuel dans l'arborescence NERD.
Si vous êtes sous Windows, vous mettez les plugins ici : C:\Program Files\Vim\vim70\plugin
Pour que NERDTree se charge automatiquement au démarrage de vim, exécutez-le comme suit à partir de la ligne de commande :
$ vim -c "NERDTree" some_file.txt
Vous pouvez définir un alias pour cela dans votre fichier .bashrc
:
alias vimt='vim -c "NERDTree" $1'
Maintenant, chaque fois que vous exécutez vimt
(au lieu de vim
), vous ouvrirez également NERDTree sur le côté gauche de la fenêtre.
Vous pouvez également ajouter une touche de raccourci pour lancer NERDTree dans votre ordinateur. .vimrc
de cette façon :
function OpenNERDTree()
execute ":NERDTree"
endfunction
command -nargs=0 OpenNERDTree :call OpenNERDTree()
nmap <ESC>t :OpenNERDTree<CR>
Maintenant, quand tu frappes Esc
puis t
cela ouvrira NERDTree.
J'utilise une machine Unix. J'ai installé NERDTree, ce dont j'ai besoin, c'est que NERDTree démarre lorsque je tape vim dans la ligne de commande. De sorte qu'un navigateur de fichiers s'ouvre toujours à gauche, comme dans Textmate. Je ne sais pas quoi mettre dans le vimrc pour faire cela, j'ai essayé :NERDTree mais il ne semble pas reconnaître la commande...
J'ai pensé ajouter qu'il existe un mapping :NERDTreeToggle intégré auquel vous pouvez vous connecter, ce qui rend votre fonction personnalisée plutôt superflue.
Les réponses ici ont un petit problème.
Si vous appelez vim --noplugin
ou utiliser un script qui utilise --noplugin
comme vimpager cela provoquera cette erreur :
Error detected while processing VimEnter Auto commands for "*":
E492: Not an editor command: NERDTree
Pour éviter cela, placez la commande dans ~/.vim/after/plugin/NERD_tree.vim
à la place :
autocmd VimEnter * NERDTree
Et ça pourrait aussi être une bonne idée de tester que NERDtree
est également disponible, c'est-à-dire :
if exists("loaded_nerd_tree")
autocmd VimEnter * NERDTree
endif
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.
0 votes
J'ai mis à jour ma réponse. Je ne suis pas sûr que vous puissiez l'ajouter à votre .vimrc pour faire ce que vous voulez, mais je sais que vous pouvez exécuter vim depuis la ligne de commande d'une manière qui ouvre NERDTree automatiquement. Jetez-y un coup d'œil :)