Answers:
可能会很痛苦,这个问题也在#vim
(Freenode)上一遍又一遍地提出。
有人建议不要删除缓冲区并使用:b partial<Tab>
而不是进行切换:bn
,它可以工作,但不是您要的。
我所知道的最好的方法就是先切换到另一个缓冲区,然后再切换到:bd#
您可以映射的缓冲区。
另请参见在Vim wikia上删除缓冲区而不关闭窗口。
我对此有些困惑,最后想到了:
:bp | sp | bn | bd
这是键映射的复制/粘贴版本:
:bp<bar>sp<bar>bn<bar>bd<CR>
或.vimrc的命令(用:Bd调用):
命令Bd bp | sp | bn | d
我已经对其进行了相当多的测试,并且可以在各种条件下始终如一地工作。在最后一个缓冲区上使用时,它将为您留出新的空白缓冲区。
窗口是进入缓冲区的视口。(请参阅参考资料:help window
。)没有关联的缓冲区,就不会有一个窗口。但是,您可以使用诸如:enew
用空缓冲区替换当前窗口内容的命令。
在bufkill.vim插件的工作原理也是如此。我喜欢将它与vim-command-w一起使用以增加功能和细节(例如,如果它是最后一个缓冲区,它将关闭拆分;如果是最后一个缓冲区/拆分,它将关闭vim)。
通常我只是在任何缓冲区上打开菜单。这将打开左侧窗格上的菜单,并且光标将在此处激活。因此,我只是切换回活动缓冲区并删除该缓冲区。
之后,我可以从菜单中打开其他文件。
我的步骤是:
:Vex
ctrl + w + w
:bd