小智 104
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror
Run Code Online (Sandbox Code Playgroud)
编辑:上面的命令似乎打开了NERDTree缓冲区中的新选项卡.而是使用wejrowski在下面的评论中提到的:
autocmd BufWinEnter * NERDTreeMirror
Run Code Online (Sandbox Code Playgroud)
Jiř*_*ský 62
我写了一个vim插件来做到这一点,并在顶部添加一些好东西(即保持所有树同步,确保有意义的标签标题 - 不是像'NERD_tree_1'等标题).
它在Github上:https://github.com/jistr/vim-nerdtree-tabs
dro*_*ope 40
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror
autocmd VimEnter * wincmd w
Run Code Online (Sandbox Code Playgroud)
这个比Dustin的好一点,因为它将光标直接放在您要编辑的文件上以便快速编辑.感谢dustin原始示例^^
这可能不是最好的方法,但是如果你编辑插件/ NERDTree.vim并改变它:
exec "nnoremap <silent> <buffer> ". g:NERDTreeMapOpenInTab ." :call <SID>openInNewTab(0)<cr>"
Run Code Online (Sandbox Code Playgroud)
对此:
exec "nnoremap <silent> <buffer> ". g:NERDTreeMapOpenInTab ." :call <SID>openInNewTab(0)<cr>:NERDTree<cr>"
Run Code Online (Sandbox Code Playgroud)
它将改变NERDTree视图中't'的绑定,首先打开文件,然后打开NERDTree.请注意,NERDTree视图不会保持同步.
怎么切换呢。
" in .vimrc
" NERDTree, Use F3 for toggle NERDTree
nmap <silent> <F3> :NERDTreeToggle<CR>
Run Code Online (Sandbox Code Playgroud)
在 OSX 中,你只需要 fn-F3 来切换 NERDTree。
更好的解决方案是仅在没有设置命令行参数的情况下打开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
如果你做一个git commit类似的东西,NERDTree就没有用了.