从命令行使用 vim split 命令获得 4 个季度的拆分

six*_*ude 20 vim

我想在命令行上打开四个 vim 文件:

vim file1 file2 file3
Run Code Online (Sandbox Code Playgroud)

但我希望每个文件都在单独的拆分中打开:

vim -c "split file1" -c "split file2" -c "split file3" file4
Run Code Online (Sandbox Code Playgroud)

(以上将屏幕水平分割4次)

理想情况下,我想做的是将屏幕分成 4 个方块,例如:

|-------|-------|
|       |       |
|       |       |
|-------|-------|
|       |       |
|       |       |
|-------|-------|
Run Code Online (Sandbox Code Playgroud)

一旦 vim 打开,我知道如何执行此操作,但是我无法从命令行执行此操作(使用vs)。有任何想法吗?我尝试的一切最终看起来像这样(或不同的变体):

|-------|-------|
|       |       |
|-------|       |
|       |       |
|-------|       |
|       |       |
|       |       |
|-------|-------|
Run Code Online (Sandbox Code Playgroud)

rjh*_*rjh 22

您可以使用 'wincmd' 命令移动到不同的窗口,就像按 CTRL+W 一样。

vim file4 -c 'split file2' -c 'vsplit file1' -c 'wincmd j' -c 'vsplit file3'
Run Code Online (Sandbox Code Playgroud)

这会将文件安排为:

file1   file2
file3   file4
Run Code Online (Sandbox Code Playgroud)

工作原理:打开file4。水平拆分,因此 file2 位于其上方。垂直拆分,因此 file1 在左侧,移动到下一个窗口 (file1) 并再次垂直拆分。


小智 7

我使用此信息编写了一个脚本,可以根据需要自动拆分屏幕:

vimsp.py file1 file2 / file3
Run Code Online (Sandbox Code Playgroud)

结果是

-----------
|f1  |f2  |
|    |    |
-----------
|file 3   |
|         |
-----------
Run Code Online (Sandbox Code Playgroud)

此外,将 / 放在所有文件的前面会使它们全部垂直拆分:

vimsp.py / file1 file2 file3

-------------
|file 1     |
-------------
|file 2     |
-------------
|file 3     |
-------------
Run Code Online (Sandbox Code Playgroud)

https://gist.github.com/1376956