避免Vim在后台保持关闭缓冲区打开

时间:2013-04-11 09:24:24

标签: vim

使用各种标准扩展对我的Vim环境进行完全重新设置后,有一种行为让我很烦恼:

当我在拆分窗口中打开文件并再次关闭该窗口时(“:wq”),Vim似乎在后台保持文件缓冲区打开。当我现在尝试在新的Vim实例中的另一个shell选项卡中打开文件时,交换文件仍然存在,这使我无法编辑文件。

我想有一个设置让Vim保持缓冲区打开但是当我关闭分割时隐藏,但我找不到它是哪一个。我真正想要的是,当我关闭分割时Vim真的关闭了缓冲区,这样我就可以在并行的Vim会话中再次打开相应的文件。

我期望的是,一旦显示它的最后一个窗口通过“:q”关闭,缓冲区就会关闭。

4 个答案:

答案 0 :(得分:7)

使用hidden检查:set hidden?选项的值。默认情况下,vim将此设置为nohidden,这应该产生您要求的行为;缓冲区在被放弃时被卸载(意味着没有窗口显示它们)。此设置可能设置为hidden,这会导致您遇到的行为;放弃后缓冲区会被隐藏。

:help 'hidden'获取更多信息。

答案 1 :(得分:2)

我认为你把缓冲区与windows混淆了。可以找到差异的一个很好的解释here

我也建议read。它有一个脚本示例,可以在不关闭窗口的情况下关闭缓冲区,这应该是您描述的效果。

干杯,我希望有所帮助。

答案 2 :(得分:0)

我不确定你是如何关闭分割的,例如使用 Ctrl W Ctrl o 另一个窗口或 Ctrl W Ctrl q ,但我不认为这应该关闭缓冲区同样。 Spliting只是一种窗口管理方法,而不是缓冲区管理方法。

如果在拆分中,您想要关闭缓冲区及其窗口,为什么不使用:bd?它将显式关闭缓冲区。

答案 3 :(得分:0)

您正在寻找:bw[ipeout]