Il est possible d'ouvrir NERDTree dans chaque onglet surtouTdans NERDTree, si oui, comment?
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.
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
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
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 ^^
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.
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.
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.