命令行下使用Vim进行水平和垂直分屏

4
我想在命令行中使用vim打开三个文件。我希望左边有一个文件,与其他两个文件之间有垂直分割线,而另外两个文件则水平分割。请参考以下命令:
``` vim -O file1.txt -o file2.txt file3.txt ```
其中,`-O`选项表示垂直分割,`-o`选项表示水平分割。
  | 2
1 |---
  | 3

我知道可以使用命令vim -O Notes.markdown -O Plan.markdown打开前两个文件并在其中一个中使用ctl w切换到第二个文件,然后使用split History.markdown命令来实现我想要的效果,但我希望能够从命令行一次性完成所有操作。
我尝试使用命令vim -O Notes.markdown -O Plan.markdown -c split History.Markdown接近了目标,但它将第一个和第二个文件分成两部分,使第三个文件出现在垂直分割的右侧。
我无法弄清楚的是,是否可以告诉vim从命令行使用ctl键,这样我就可以运行像... -c <switchwindowcommand> | split History.markdown这样的命令。有没有办法指定控制键?
2个回答

6

有很多方法可以做到这一点,关键是使用:wincmd命令,它允许您执行任意窗口命令。

在这里,我首先创建了三个垂直分割,然后使用<C-W>H将第一个窗口移动到左侧的全高度垂直分割中:

$ vim -o 1 2 3 -c "wincmd H"

3
我认为这正是你所需要的内容。
:help windcmd

例如:

vim a.txt -c "vs b.txt | sp c.txt" -c "wincmd h"

谢谢,一开始我遇到了一个错误,因为我试图输入 help windcmd,然后注意到你的示例中有不同的语法。你给出的示例在左侧打开了分割窗口,而不是右侧,但它确实让我朝着正确的搜索方向前进。谢谢! - Chris Schmitz

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