如何在Vim中水平分割多个垂直分割窗口?

28

基本上,我想从1)2)

我通常是先水平分割,然后再垂直分割,但是由于我想要进行三方差异比较,所以更方便的方法是运行以下命令启动vim:

$ vimdiff file1 file2 file3

然后执行某些操作以打开下方的分屏窗口。

1)
    +----+----+----+
    ¦    ¦    ¦    ¦
    ¦ f1 ¦ f2 ¦ f3 ¦
    ¦    ¦    ¦    ¦
    +----+----+----+

2)
    +----+----+----+
    ¦    ¦    ¦    ¦
    ¦ f1 ¦ f2 ¦ f3 ¦
    +----+----+----+
    ¦      f4      ¦
    +--------------+

有人知道如何做到这一点吗?

2个回答

43

使用:botright split 或者 :bo sp,它可以满足你的需求。


确实如此。感谢您的快速回答! - Jacobo de Vera
1
@Hasturkun,如果你想要在f1,f2,f3水平排列的情况下,实现一个垂直分割的效果,并且希望这个垂直分割占据整个屏幕的50%,而不是像OP的例子那样只占据f1的一半,你需要使用什么等效命令? - TankorSmash
2
@TankorSmash:我现在无法验证,但我找到了这个方便的页面,它似乎建议你想要一个:topleft vsplit - Hasturkun
@Hasturkun 谢谢!已点赞。更糟糕的是,我实际上把那个页面加入了书签。再次感谢! - TankorSmash

19
除了Hasturkun的出色回答外,你可能会发现一些Ctrl-W命令非常有用:
这些命令是在按下Ctrl-W后加上(大写)HJKL。它们分别将当前窗口移动到最左边、底部、顶部或最右边。因此,要从1移动到2,除了使用:botright以外,你可以先执行普通的:sp:vsp,然后执行Ctrl-W J,窗口就会移动到底部。
:help CTRL-W_H
:help CTRL-W_J
:help CTRL-W_K
:help CTRL-W_L

1
如果您已经创建了拆分并希望将其移动到底部,那么这是一个很好的答案。 - michaelavila

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接