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 à partir de la ligne de commande d'une manière qui ouvre automatiquement NERDTree. Jetez un oeil :)
Steven Kryskalla
Réponses:
199
D'accord, la version précédente était un peu laconique, mais la réponse que vous recherchez 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 de divers plugins à charger, vous ne voulez pas l'exécuter tant que toute l'initialisation n'est pas terminée:
autocmd VimEnter * NERDTree
Si, cependant, vous êtes ennuyé par le fait que le curseur démarre 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 à l'intérieur de vim pour montrer quand même
nerdtree
Si vous utilisez un script tel que vimpager, vous devez déplacer ces lignes vers votre /.vim/after/plugin/NERD_tree.vimscript, afin qu'il n'essaie pas de s'exécuter avec les plugins désactivés.
Joshua Olson
9
Vous n'avez pas besoin de deux autocmd séparés:autocmd VimEnter * NERDTree | wincmd p
Dave James Miller
puis-je simplement spécifier le chemin réel dans lequel je veux commencer? - Yup fonctionne avec un dossier (juste pas de barre oblique à la fin)
AturSams
1
Je préfère faire ce qui suit: autocmd VimEnter * NERDTreeet puis autocmd VimEnter * if argc() | wincmd p | endif. De cette façon, le curseur est sur NERDTree si je n'ai pas ouvert un fichier spécifique, mais si j'ai choisi un fichier, il démarre dans la fenêtre principale.
user2275806
20
J'aime voir NERDTree uniquement lorsque je lance vim sans arguments de fichier, j'ai donc ajouté ceci à mon .vimrc:
J'utilise une machine Unix-y. J'ai NERDTree installé, ce dont j'ai besoin est d'avoir NERDTree pour démarrer lorsque je tape vim dans la ligne de commande. Pour qu'un navigateur de fichiers s'ouvre toujours à gauche, comme dans Textmate. Je ne sais pas quoi mettre dans le vimrc pour faire ça, j'ai essayé: NERDTree mais il ne semble pas reconnaître la commande ...
chutsu
2
Je pensais que j'ajouterais qu'il existe un mappage intégré: NERDTreeToggle que vous pouvez mapper, ce qui rend votre fonction personnalisée plutôt redondante.
Good One ... J'utilise aussi Vim comme téléavertisseur et j'ai simplement ajouté un argument pour désactiver les autocommandes ... export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
Eddie B
7
" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>
Réponses:
D'accord, la version précédente était un peu laconique, mais la réponse que vous recherchez 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 de divers plugins à charger, vous ne voulez pas l'exécuter tant que toute l'initialisation n'est pas terminée:Si, cependant, vous êtes ennuyé par le fait que le curseur démarre toujours dans la fenêtre NERDTree, vous pouvez ajouter une deuxième autocommande qui déplacera le curseur dans la fenêtre principale:
la source
/.vim/after/plugin/NERD_tree.vim
script, afin qu'il n'essaie pas de s'exécuter avec les plugins désactivés.autocmd VimEnter * NERDTree | wincmd p
autocmd VimEnter * NERDTree
et puisautocmd VimEnter * if argc() | wincmd p | endif
. De cette façon, le curseur est sur NERDTree si je n'ai pas ouvert un fichier spécifique, mais si j'ai choisi un fichier, il démarre dans la fenêtre principale.J'aime voir NERDTree uniquement lorsque je lance vim sans arguments de fichier, j'ai donc ajouté ceci à mon .vimrc:
la source
Êtes-vous sur un système Windows ou unix-y?
Si vous êtes sur un système unix-y, vous insérez des plugins
~/.vim/plugin
. Voici à quoi ressemble mon répertoire de plugins:Après cela, il commence à fonctionner tout de suite. Essayez d'exécuter vim comme ceci:
Il devrait ouvrir le répertoire courant dans l'arborescence NERD.
Si vous êtes sous Windows, vous mettez des plugins ici:
C:\Program Files\Vim\vim70\plugin
Pour que NERDTree se charge automatiquement lorsque vous démarrez vim, exécutez-le comme ceci à partir de la ligne de commande:
Vous pouvez définir un alias pour cela dans votre
.bashrc
:Maintenant, chaque fois que vous exécutez
vimt
(au lieu devim
), vous ouvrirez également NERDTree sur le côté gauche de la fenêtre.Vous pouvez également ajouter une touche de raccourci pour démarrer NERDTree de
.vimrc
cette manière:Maintenant , quand vous frappez
Esc
alorst
il sautera NERDTree ouvert.la source
alias vimt='vim -c "NERDTree" $1'
Selon les instructions de NERDTree, vous pouvez simplement utiliser pathogen.vim . Installez-le avec:
Ajoutez ceci à votre .vimrc:
puis installez NERDTree:
Et si vous souhaitez ouvrir automatiquement un NERDTree au démarrage de Vim, ajoutez ce qui suit à votre .vimrc:
la source
Les réponses ici ont un problème mineur.
Si vous appelez
vim --noplugin
ou utilisez un script qui utilise un--noplugin
mode tel que vimpager , cela provoquera cette erreur:Pour éviter cela, mettez la commande à la
~/.vim/after/plugin/NERD_tree.vim
place:Et cela pourrait également être une bonne idée de tester ce qui
NERDtree
est également disponible, à savoir:la source
export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
la source