Vim多个窗口/隐藏


9

如果我在VIM会话中打开了x个或更多窗口,并且想快速隐藏所有窗口(除了活动窗口之外)一会儿,然后将窗口返回到我拥有的布局,我该如何处理?


zoomwin插件可以做到这一点。
2014年

Answers:


8

在Vim 7及更高版本中,您可以为此使用“标签页”(即“ GUI样式”标签)。您可以将:tab命令与:split或一起使用:sbuffer

:tab split
:tab sp      " shorter version

:tab sbuffer
:tab sb      " shorter version

在不使用附加参数的情况下(拆分当前缓冲区),两者splitsbuffer几乎会做同样的事情。split如果您预期要加载一些(可能尚未加载的)路径名,则可能需要使用(split path/to/some/file;尽管您可以只使用它,:tabe因为这是在打开新选项卡的上下文中);sbuffer使切换到现有缓冲区(sb {bufnum}sb {bufname})更加容易。

打开新选项卡后,可以使用gTgt在生成的选项卡之间进行切换(如果使用的是Vim的GUI版本,则可以使用GUI控件)。完成单窗口选项卡后,只需:q关闭窗口(并因此关闭选项卡)并返回到原始选项卡(具有其原始窗口布局),或使用:tabclose:tabc),或切换回原始选项卡并使用:tabonly:tabo)。


10

我使用CTRL-W _水平“推”其他窗口,使当前窗口扩展到最大可用区域。使用CTRL-W | 垂直做同样的事情。我确定可能有一次同时执行这两种方法的方法,但是我没有注意到或寻找它。在:help CTRL-W中查找

要还原它们,请执行CTRL-W =。需要注意的是,它们没有还原到原始配置。CTRL-W =实际上重新计算屏幕上所有窗口的最佳拟合。


检查是否要实施整洁的hack。
MageProspero 2011年

7

据我所知,无法简单地在两个不同的窗口布局之间切换,但是您可以通过发出命令:only(或:on)隐藏所有其他窗口。有关此命令,请参见Vim帮助


2
这样就不可能回到以前的布局。克里斯·约翰森(Chris Johnsen)的答案也使我们能够做到这一点。
Phani
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.