Vim 多窗口/隐藏

Vim 多窗口/隐藏

如果我在 VIM 会话中打开了 x 个或多个窗口,并且我想快速隐藏除活动窗口之外的所有窗口,然后将窗口返回到我设置的布局,我该怎么做?

答案1

我使用 CTRL-W _ 水平“推”其他窗口,使当前窗口扩展到最大的可用区域。使用 CTRL-W |垂直方向做同样的事情。我确信可能有一种方法可以同时完成这两件事,但我还没有注意到或寻找它。查看 :help CTRL-W

要恢复它们,请执行 CTRL-W =。但需要注意的是,它们不会恢复到原始配置。 CTRL-W = 实际上重新计算屏幕中所有窗口的最佳匹配。

答案2

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

:tab split
:tab sp      " shorter version

:tab sbuffer
:tab sb      " shorter version

在没有附加参数的情况下使用时,两者split几乎sbuffer执行相同的操作(分割当前缓冲区)。如果您预计要split加载一些(可能尚未加载)路径名(split path/to/some/file;尽管您可以只使用:tabe相反,因为这是在打开新选项卡的上下文中);sbuffer可以更轻松地切换到现有缓冲区(sb {bufnum}sb {bufname})。

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

答案3

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

相关内容