web-dev-qa-db-fra.com

Ouverture automatique de NERDTree dans l'onglet "EVERY"

Il est possible d'ouvrir NERDTree dans chaque onglet surtouTdans NERDTree, si oui, comment?

35
tech.kapil

Ce n'est probablement pas la meilleure façon, mais si vous éditez le plugin/NERDTree.vim et changez ceci:

 exec "nnoremap <silent> <buffer> ". g:NERDTreeMapOpenInTab ." :call <SID>openInNewTab(0)<cr>"

pour ça:

 exec "nnoremap <silent> <buffer> ". g:NERDTreeMapOpenInTab ." :call <SID>openInNewTab(0)<cr>:NERDTree<cr>"

cela modifiera la liaison de 't' dans la vue NERDTree pour ouvrir d'abord le fichier, puis ouvrir NERDTree. Notez que les vues NERDTree ne resteront pas synchronisées.

6
Rytmis
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror

edit: La commande ci-dessus semble ouvrir le nouvel onglet dans le tampon de NERDTree. Utilisez plutôt ceci comme mentionné par wejrowski dans le commentaire ci-dessous:

autocmd BufWinEnter * NERDTreeMirror
101
Dustin

J’ai écrit un plug-in vim qui fait cela et ajoute également quelques goodies (c’est-à-dire que tous les arbres sont synchronisés, assure des légendes d’onglet significatives - pas des légendes comme 'NERD_tree_1' etc.).

C'est ici sur Github: https://github.com/jistr/vim-nerdtree-tabs

60
Jiří Stránský
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror

autocmd VimEnter * wincmd w

Celui-ci est un peu meilleur que celui de Dustin, car il place le curseur directement sur le fichier que vous souhaitez modifier pour des modifications rapides. Merci dustin pour l'exemple original ^^

40
droope

Une meilleure solution consiste à ouvrir NERDTree uniquement si aucun argument de ligne de commande n'est défini.

" Open NERDTree in new tabs and windows if no command line args set autocmd VimEnter * if !argc() | NERDTree | endif autocmd BufEnter * if !argc() | NERDTreeMirror | endif

NERDTree est par exemple pas utile si vous faites un git commit ou quelque chose de similaire.

6
shi

Que diriez-vous de le basculer.

" in .vimrc
" NERDTree, Use F3 for toggle NERDTree
nmap <silent> <F3> :NERDTreeToggle<CR>

Sous OSX, il vous suffit de fn-F3 pour basculer NERDTree.

4
shin

Ce problème était en fait mentionné dans le fichier Readme du référentiel officiel , y compris dans trois situations liées à l'ouverture automatique de NERDTree:


Comment puis-je ouvrir un NERDTree automatiquement au démarrage de vim?

Collez-le dans votre vimrc: autocmd vimenter * NERDTree


Comment ouvrir un NERDTree automatiquement au démarrage de vim si aucun fichier n'a été spécifié?

Collez ceci dans votre vimrc:

autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif

Remarque: Maintenant, démarrez vim avec un vim simple, pas vim .


Comment puis-je ouvrir NERDTree automatiquement lorsque vim commence à ouvrir un répertoire?

autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif

Cette fenêtre est spécifique à l'onglet, ce qui signifie qu'elle est utilisée par toutes les fenêtres de l'onglet. Cette astuce empêche également NERDTree de se cacher lors de la première sélection d’un fichier.

0
千木郷