web-dev-qa-db-fra.com

Comment ajoutez-vous NERDTree à votre vimrc?

Comment faites-vous?

116
chutsu

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 ~/.vimrc fichier. Il indique à vim que vous souhaitez configurer une commande à exécuter au démarrage de vim, mais comme cela dépend du chargement de plusieurs plugins, vous ne souhaitez pas l'exécuter avant la fin de l'initialisation. La ligne ci-dessous fait ceci.

autocmd VimEnter * NERDTree

Si, toutefois, vous êtes agacé par le fait que le curseur commence toujours dans la fenêtre NERDTree, vous pouvez ajouter une deuxième commande automatique qui le déplacera dans la fenêtre principale, comme suit:

autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
198
Douglas Mayle

J'aime voir NERDTree uniquement lorsque je lance vim sans arguments de fichier. J'ai donc ajouté ceci à mon fichier .vimrc:

autocmd VimEnter * if !argc() | NERDTree | endif
20
gsf

Êtes-vous sur un système Windows ou unix-y?

Si vous êtes sur un système unix-y, vous mettez des plugins dans ~/.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 immédiatement. Essayez de lancer vim comme ceci:

$ vim .

Il convient d’ouvrir le répertoire en cours dans l’arborescence NERD.

Si vous êtes sur 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 ceci à partir de la ligne de commande:

$ vim -c "NERDTree" some_file.txt

Vous pouvez définir un alias pour cela dans votre .bashrc:

alias vimt='vim -c "NERDTree" $1'

Maintenant, chaque fois que vous exécutez vimt (au lieu de vim), vous ouvrez également NERDTree sur le côté gauche de la fenêtre.

Vous pouvez également ajouter une touche de raccourci pour démarrer NERDTree dans votre .vimrc par ici:

function OpenNERDTree()
  execute ":NERDTree"
endfunction
command -nargs=0 OpenNERDTree :call OpenNERDTree()

nmap <ESC>t :OpenNERDTree<CR>

Maintenant, lorsque vous appuyez sur Esc puis t, NERDTree apparaît.

19
Steven Kryskalla

Selon les instructions sur https://github.com/scrooloose/nerdtree , vous pouvez simplement utiliser pathogen.vim ( https://github.com/tpope/vim-pathogen ). Installez l'agent pathogène avec:

mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
        https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim

Ajoutez ceci à votre vimrc:

execute pathogen#infect()

puis installez NERDTree:

cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree.git

Et si vous souhaitez ouvrir automatiquement un NERDTree au démarrage de vim, ajoutez ce qui suit à votre vimrc:

autocmd vimenter * NERDTree
8
TenJack
" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>
7
SergioAraujo

Les réponses ici ont un problème mineur.

Si vous appelez vim --noplugin _ ou utilisez un script utilisant --noplugin mode tel que vimpager , cela provoquera cette erreur:

Error detected while processing VimEnter Auto commands for "*":
E492: Not an editor command: NERDTree

Pour éviter cela, mettez la commande dans ~/.vim/after/plugin/NERD_tree.vim au lieu:

autocmd VimEnter * NERDTree

Et il pourrait également être intéressant de vérifier que NERDtree est également disponible, c.-à-d.:

if exists("loaded_nerd_tree")
    autocmd VimEnter * NERDTree
endif
7
Mikel