关闭文件时关闭vim NERDtree

19

我正在尝试使用Vim,并安装了一些插件,其中包括NERDTree。我按照一些指南设置了.vimrc(其中有一半的内容我还不理解)。

令我烦恼的是,如果我使用:wq命令保存并退出文件,Vim仍然处于活动状态,它只关闭了文档的分屏,但保留了全屏的NERDTree。我希望在关闭最后一个标签页或缓冲区时,NERDTree也能关闭。

或者说,我使用方法错误吗?


3个回答

21

将以下代码添加到你的vimrc文件中:

autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") 
      \ && b:NERDTree.isTabTree()) | q | endif

注意:\的作用是允许多行命令。


1
如果您不想键入"wqa",则此解决方案效果更佳。 - aclave1
2
这对我不起作用。非常奇怪。有什么提示可以找出来吗?我没有收到任何错误,所以我不知道它是否运行了。 - fossekall
我发现,如果默认使用树形视图打开,它通常可以正常工作。如果我默认不使用树形视图打开,并输入 :NERDTreeCWD:NERDTreeToggle,那么需要两次输入 :q - Mithril

19
< p > :wqa 命令将写入所有已更改的缓冲区并退出 Vim。 这也会关闭 NerdTree。

5

实际上,使用:q只会关闭当前拆分视窗,因此要关闭所有视窗并返回终端,我们应该使用:qa命令,该命令将关闭所有拆分视窗,甚至包括NERDTree。

:wq还有一个快捷键,那就是:x。使用:x可以保存更改并关闭当前视窗。如果您想保存所有更改并关闭所有视窗并返回终端,则可以使用以下命令:

:xa

这相当于:

:wqa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接