在“EVERY”选项卡中自动打开NERDTree

时间:2009-12-30 10:42:16

标签: vim nerdtree

是否可以在NERDTree中按 t T 打开每个标签中的NERDTree,如果是,怎么做?

7 个答案:

答案 0 :(得分:103)

autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror

编辑:上面的命令似乎打开了NERDTree缓冲区中的新选项卡。而是在下面的评论中使用wejrowski中提到的内容:

autocmd BufWinEnter * NERDTreeMirror

答案 1 :(得分:61)

我编写了一个vim插件来执行此操作并在顶部添加一些好东西(即保持所有树同步,确保有意义的标签标题 - 不是'NERD_tree_1'等标题。)

这是在Github:https://github.com/jistr/vim-nerdtree-tabs

答案 2 :(得分:40)

autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror

autocmd VimEnter * wincmd w

这个比Dustin的好一点,因为它将光标直接放在您要编辑的文件上以便快速编辑。感谢dustin原始示例^^

答案 3 :(得分:6)

这可能不是最好的方法,但如果你编辑插件/ NERDTree.vim并改变它:

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

到此:

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

它将改变NERDTree视图中't'的绑定,首先打开文件,然后打开NERDTree。请注意,NERDTree视图不会保持同步。

答案 4 :(得分:6)

更好的解决方案是仅在没有设置命令行参数的情况下打开NERDTree。

" 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就像是如果您执行git commit或类似的操作,则无济于事。

答案 5 :(得分:4)

如何切换它。

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

在OSX中,你只需要fn-F3来切换NERDTree。

答案 6 :(得分:0)

the official Repository's Readme file中实际上提到了此问题,其中包括与自动打开NERDTree有关的三种情况:


  

在vim启动时如何自动打开NERDTree?

将此粘贴​​在您的vimrc中:autocmd vimenter * NERDTree


  

如果未指定文件,如何在vim启动时自动打开NERDTree?

将此粘贴​​在您的vimrc中:

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

注意:现在,以普通vim而不是vim .

开始vim。
  

当打开目录打开vim时,如何自动打开NERDTree?

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

此窗口是特定于选项卡的,表示该选项卡中的所有窗口都使用该窗口。此技巧还可以防止NERDTree在首次选择文件时隐藏。