在VIM中的不同拆分窗口中打开文件

Loo*_*oom 12 vi vim editor

我有一些$somePaths4个文件夹的数组.我想在VIM中打开这个文件夹中的一些文件.以下内容在选项卡中打开它们.

vim -p `for i in ${somePaths[@];}; do echo $i/src/main.cpp; done`
Run Code Online (Sandbox Code Playgroud)

实际上我想将这些文件放在拆分窗口(十字架)中.怎么做?

Ing*_*kat 6

除此之外-p,Vim也提供了-o-O命令行参数的水平/垂直分割.不幸的是,他们不能混在一起.要构建自己的自定义窗口布局,必须通过显式窗口放置命令-c.这个例子

 $ vim 1 -c 'bel vsplit 2' -c '1wincmd w' -c 'bel split 3' -c '3wincmd w' -c 'bel split 4'
Run Code Online (Sandbox Code Playgroud)

创建一个如下所示的布局:

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

要继续将文件列表作为一个块传递,可以使用缓冲区编号单调增加的事实,并在命令中引用缓冲区编号:

$ vim -c 'bel vert sbuf 2' -c '1wincmd w' -c 'bel sbuf 3' -c '3wincmd w' -c 'bel sbuf 4' a b c d
Run Code Online (Sandbox Code Playgroud)