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?

34
demandé sur Arslan Ali 2009-12-30 13:42:16

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.

6
répondu Rytmis 2010-01-03 20:23:35
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
99
répondu Dustin 2015-04-22 22:11:10

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

59
répondu Jiří Stránský 2011-10-13 15:14:53
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 ^^

39
répondu droope 2011-10-03 21:37:44

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.

6
répondu shi 2014-08-06 08:26:11

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.

4
répondu shin 2014-01-05 04:54:22

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.

0
répondu 千木郷 2018-09-27 16:51:56