通常我编辑两个文件,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 行