打开某些文件类型时如何禁用 NERDTree 缓冲区

Pet*_*sta 4 vim nerdtree

当前,为您打开的每个文件打开 NERDTree 缓冲区。如果我正在写入 *.scala、*.py 等,但我不希望我正在编写的某些文件(例如 Haskell)发生这种情况。例如,当我打开一个 Haskell 文件时,我不希望 NERDTree 缓冲区在我vim file.hs在终端中输入后立即打开。有谁知道如何让这个工作?

Ing*_*kat 6

你可能会在你~/.vimrc的自动打开 NERDTree 中使用这样的东西:

:autocmd VimEnter * NERDTree
Run Code Online (Sandbox Code Playgroud)

你只需要添加一个条件,例如在任何文件传递给 Vim时禁止打开:

:autocmd VimEnter * if argc() == 0 | NERDTree | endif
Run Code Online (Sandbox Code Playgroud)

由于 VimEnter 命令在缓冲区加载后触发,您还可以检查当前'filetype'值以仅抑制 Haskell 文件:

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