40

t是否可以通过按下或在 NERDTree中打开每个选项卡T中的 NERDTree,如果可以,如何?

4

7 回答 7

112
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror

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

autocmd BufWinEnter * NERDTreeMirror
于 2010-05-04T00:25:59.150 回答
63

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

它在 Github 上:https ://github.com/jistr/vim-nerdtree-tabs

于 2011-10-13T15:14:53.360 回答
42
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror

autocmd VimEnter * wincmd w

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

于 2011-10-03T20:53:06.217 回答
6

这可能不是最好的方法,但如果你编辑 plugin/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 视图不会保持同步。

于 2010-01-03T20:23:35.523 回答
6

怎么切换。

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

在 OSX 中,您只需按 fn-F3 即可切换 NERDTree。

于 2014-01-05T04:54:22.753 回答
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

git commit例如,如果您执行 a或类似的操作,NERDTree 将无济于事。

于 2014-08-06T08:26:11.600 回答
0

这个问题其实在官方 Repository 的 Readme 文件中提到过,包括与自动打开 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

注意:现在用 plain 启动 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 在第一次选择文件时隐藏。

于 2018-09-27T16:51:56.033 回答