17

我知道这会:qa关闭所有缓冲区和窗口并退出 vim。很明显,我可以:q用来退出给定选项卡中的单个窗口/拆分。但是考虑一下我在当前选项卡中有三个窗口以及一堆相邻打开的选项卡的情况。我想关闭当前选项卡中的三个窗口,但不退出 vim 或其他相邻选项卡。

我该怎么做?我浏览了 vim 帮助文件,但似乎没有直接的选择。我想使用 vimscript 可以获得这样的功能是可能的,但我想在得出结论之前确定它是唯一的选择。

如果 vim 不直接支持它并且有人已经足够出色地为其编写插件,我很想知道它。

4

3 回答 3

27

您的意思是要关闭当前标签页吗?然后是那个:tabclose命令。

于 2013-09-28T12:49:49.790 回答
5

我还发现这个命令有效。的帮助页面help tabpage非常有用。

:tabc

就像@glts 在评论中指出的那样,我需要先整理好我的 vim 术语才能找到答案。

于 2013-09-28T12:49:37.587 回答
2

建议的现有答案:tabc[lose]是正确的。但是,在一种情况下,另一个答案可能有用。

如果您想关闭当前选项卡中的窗口以减少在打开新选项卡并将一些新文件拉入其中之前打开的内容的数量,该tabclose选项仍然有效;简而言之,你会这样做:tabc|tabe。但是,我的 Vim 纯粹主义者不禁指出,您可以通过键入:on|ene而不是键入来节省三个击键,这是 的缩写:only | enew,或者“关闭当前选项卡中除此之外的所有窗口;现在,打开一个新的未命名文件在这个窗口中。” 如果想用一个命名文件替换当前窗口,这个习惯用法比另一个短两个键击,总共五个::on|e foo.txt:tabc|tabe foo.txt.

因此,虽然问题的正确答案通常是:tabclose命令,但在某些情况下:on|e:on|ene更有用。

于 2014-04-03T23:58:25.540 回答