我使用:e和:w命令来编辑和写入文件。我不确定是否有“close”命令关闭当前文件而不离开Vim?

我知道:q命令可以用来关闭一个文件,但如果它是最后一个文件,Vim也会被关闭;实际上在Mac OS上MacVim退出了。只有Vim窗口是关闭的,我可以使用Control-N再次打开一个空白的Vim窗口。我希望Vim保持空白屏幕的打开状态。


当前回答

如前所述,你正在寻找:bd,然而这并没有完全删除缓冲区,它仍然是可访问的:

:e foo
:e bar
:buffers
  1 #h   "foo"                          line 1
  2 %a   "bar"                          line 1
Press ENTER or type command to continue
:bd 2
:buffers
  1 %a   "foo"                          line 1
Press ENTER or type command to continue
:b 2
2   bar

相反,您可能需要:bw,这将完全删除它。

:bw 2
:b 2 
E86: Buffer 2 does not exist

不知道:bw困扰了我一段时间。

其他回答

如果你已经保存了最后一个文件,那么:ennew就是你的朋友(:ennew !如果你不想保存最后一个文件)。请注意,原始文件仍将在缓冲列表中(通过:ls访问)。

查看Butane插件以保持关闭缓冲区时的窗口布局。

这将删除缓冲区(转换为关闭文件)

:bd 

如前所述,你正在寻找:bd,然而这并没有完全删除缓冲区,它仍然是可访问的:

:e foo
:e bar
:buffers
  1 #h   "foo"                          line 1
  2 %a   "bar"                          line 1
Press ENTER or type command to continue
:bd 2
:buffers
  1 %a   "foo"                          line 1
Press ENTER or type command to continue
:b 2
2   bar

相反,您可能需要:bw,这将完全删除它。

:bw 2
:b 2 
E86: Buffer 2 does not exist

不知道:bw困扰了我一段时间。

:bd可以被映射。我把它映射到F4, Shift-F4如果我需要强制关闭因为一些我不想要的改变。