在 vim 中指定垂直分割的高度

在 vim 中指定垂直分割的高度

通常我编辑两个文件,A 和 B,水平分割。我设置了它,以便一个缓冲区仅占据屏幕顶部的前两行,其余的用于另一个缓冲区。

有时我需要编辑第三个文件 C,它具有大缓冲区的一半屏幕空间,垂直分割。以下大致显示了我想要的结果。

------------------------------------------------------------------------------
| First  line of file A                                                      |
| Second line of file A                                                      |
------------------------------------------------------------------------------
| First  line of file C               | First  line of file B                |
| Second line of file C               | Second line of file B                |
|        ...                          |       ...                            |
| Last   line of file C               | Last   line of file B                |
------------------------------------------------------------------------------

问题是,当我:vsplit C为新文件分割一半大缓冲区时,vim 还会调整显示文件 A 的缓冲区大小,使其占据一半屏幕,而文件 B 和 C 各占四分之一屏幕。

我如何告诉 vim 在进行垂直分割时不关心水平调整大小?

编辑 更明确地说:我希望在进行垂直分割时指定缓冲区的最终高度。该vsplit命令仅接受宽度作为参数,而不接受高度。

我可以在打开新文件后调整窗口大小,但这相当乏味。打开的文件越多,问题就越困难。我可以坚持一次编辑一个文件,但我认为 vim 比这更强大。

答案1

您可以通过以下方式关闭该默认行为

:set noequalalways

然后,您必须明确使窗口大小相等(例如使用<C-w>=

或者,您可以通过以下方式关闭窗口高度的此功能

:set eadirection=hor

答案2

30 ctrl-w+ - 窗口大小增加 30 行

30 ctrl-w- - 将窗口大小减少 30 行

相关内容