Auto-open NERDTree dans" tous " les onglets
est-il possible d'ouvrir NERDTree dans chaque onglet en appuyant sur t ou T dans NERDTree, si oui, comment?
7 réponses
ce n'est probablement pas la meilleure façon, mais si vous éditez plugin/NERDTree.vim et modifiez ce qui suit:
exec "nnoremap <silent> <buffer> ". g:NERDTreeMapOpenInTab ." :call <SID>openInNewTab(0)<cr>"
à:
exec "nnoremap <silent> <buffer> ". g:NERDTreeMapOpenInTab ." :call <SID>openInNewTab(0)<cr>:NERDTree<cr>"
il modifiera la liaison de 't' dans la vue NERDTree pour ouvrir d'abord le fichier, puis NERDTree. Notez que les vues de NERDTree ne seront pas synchronisées.
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror
edit: la commande ci-dessus semble ouvrir le nouvel onglet dans le tampon de NERDTree. Au lieu de cela, utilisez ceci comme indiqué par wejrowski dans le commentaire ci-dessous :
autocmd BufWinEnter * NERDTreeMirror
j'ai écrit un plugin vim qui fait cela et ajoute aussi quelques goodies sur le dessus (i.e. garde tous les arbres dans la synchronisation, assure des légendes d'onglets significatifs - 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 avez l'intention de modifier pour des modifications rapides. Merci dustin pour l'exemple original ^^
une meilleure solution est d'ouvrir NERDTree seulement s'il n'y a pas d'arguments en ligne de commande définis.
" 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>
dans OSX, vous avez juste besoin de Fn-F3 Pour basculer NERDTree.
ce problème a été mentionné dans le fichier Readme du dépôt officiel incluant trois situations liées à L'ouverture automatique de NERDTree:
Comment puis-je ouvrir un NERDTree automatiquement quand vim démarre?
Coller dans votre vimrc: autocmd vimenter * NERDTree
Comment puis-je ouvrir un NERDTree automatiquement quand vim démarre si aucun fichier n'est sont-ils précisés?
Coller dans votre vimrc:
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
Note: maintenant, démarrez vim avec vim
, pas vim .
Comment puis-je ouvrir NERDTree automatiquement lorsque vim démarre l'ouverture d'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 aux onglets, 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.