-o
, -O
e -p
são mutuamente exclusivos. Você não pode combiná-los.
De 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;
e, em seguida, em create_windows()
:
parmp->window_count = make_windows(parmp->window_count,
parmp->window_layout == WIN_VER);
E make_windows()
de 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;
Como você vê, não há nenhuma facilidade para dizer "dividir as poucas janelas na horizontal e as poucas na vertical".
A maneira mais fácil de fazer o que você quer é usar -c
para enviar comandos "diretos" para o Vim:
vim main.c -c ':split gui.c' -c ':vsplit window.c'
Que pode ser abreviado para:
vim main.c -c 'sp gui.c | vs window.c'