Vim - 在被 git 调用时防止 NERDTree 打开

jst*_*son 9 vim git vimrc nerdtree

很好也很简单,我希望 NERDTree 在 git 调用 vim 时不要参与其中,例如在编写提交消息或处理 rebase 时。

据推测,这是可以通过某种文件类型检测(gitcommit 等)来实现的,但我不知道如何做到这一点。目前我的 vimrc 的相关部分是:

autocmd vimenter * NERDTree
map <C-n> :NERDTreeToggle<CR>
Run Code Online (Sandbox Code Playgroud)

我希望在一般情况下保留 NERDTree 的自动打开功能。我尝试了以下方面的内容:

autocmd FileType gitcommit NERDTreeToggle
Run Code Online (Sandbox Code Playgroud)

然而,文档会建议 VimEnter 几乎是在加载所有缓冲区等之后触发的最后一件事,所以我想这就是为什么这不起作用。

提前致谢。

Ing*_*kat 8

我认为您已经将所有部分组合在一起:只需将 NERDTree 的启动与文件类型的条件结合起来;当VimEnter火灾时,这应该已经设置:

:autocmd VimEnter * if &filetype !=# 'gitcommit' | NERDTree | endif
Run Code Online (Sandbox Code Playgroud)