我想以多重分割模式打开 3 个文件。例如,假设file1 file2 file3
我想在垂直分割模式下打开file1
3个文件file2
,并且两个垂直分割都必须采用水平分割file3
。
vim file1 file2 -O file3 -o
我尝试了上面的代码,但它覆盖了所有 3 个文件的最后-O
一个。-o
答案1
-o
、-O
、 和-p
是互斥的。你不能将它们结合起来。
从main.c
,command_line_scan()
:
case 'p': /* "-p[N]" open N tab pages */
parmp->window_layout = WIN_TABS;
break;
case 'o': /* "-o[N]" open N horizontal split windows */
parmp->window_layout = WIN_HOR;
break;
case 'O': /* "-O[N]" open N vertical split windows */
parmp->window_layout = WIN_VER;
break;
然后在create_windows()
:
parmp->window_count = make_windows(parmp->window_count,
parmp->window_layout == WIN_VER);
并make_windows()
来自window.c
:
/*
* Make "count" windows on the screen.
* Return actual number of windows on the screen.
* Must be called when there is just one window, filling the whole screen
* (excluding the command line).
*/
int
make_windows(count, vertical)
int count;
int vertical UNUSED; /* split windows vertically if TRUE */
{
int maxcount;
int todo;
正如您所看到的,没有办法说“水平分割那几个窗口,垂直分割那几个窗口”。
完成您想要的操作的最简单方法是使用-c
向 Vim 发送“直接”命令:
vim main.c -c ':split gui.c' -c ':vsplit window.c'
可以缩写为:
vim main.c -c 'sp gui.c | vs window.c'