2013-09-28 41 views
11

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

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

如果vim不直接支持它,而且有人已经足够为它编写一个插件,我很想知道它。

+0

在Vim术语中,“split”=“窗口”。通过关闭“当前窗口中的所有分割”,你是什么意思?你在谈论标签页吗? – glts

+0

@glts是的,我发布后很快就意识到我弄糟了术语。现在修复它。感谢您指出。 – gkb0986

回答

17

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

+0

我在你回答它的同一时间找到了它。不过谢谢。 – gkb0986

+0

如何关闭最后一个标签页? –

+0

@ HieuM.Nguyen目前,您必须知道tabnumber并将其指定为':tabclose'。有一个[提议的补丁](http://article.gmane.org/gmane.editors.vim.devel/46770)用于增强对某些相关命令(':close',':argadd)的'{count}'参数的处理',':argdelete')。可能要求作者将相对偏移量处理包含到':tabclose'中,以便':$ tabclose'起作用。 – jamessan

3

我也发现这个命令的作品。 help tabpage的帮助页面非常有用。

:tabc 

就像@glts在评论中指出的那样,我需要在我能找到答案之前按顺序得到我的vim术语。

0

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

如果您想要关闭当前选项卡中的窗口,以减少打开新选项卡并拉入新文件之前打开的事件数量,tabclose选项仍然有效;简洁地说,你会做:tabc|tabe。然而,我的Vim纯粹主义者不禁要指出,通过输入:on|ene来代替:only | enew,或者“在当前选项卡中关闭除此之外的所有窗口;现在,打开一个新的这个窗口中的未命名文件。“如果想用命名文件替换当前窗口,则此成语比另一个短两个按键,总共五个::on|e foo.txt:tabc|tabe foo.txt

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

相关问题