マルチ分割モードで3つのファイルを開きたいです。たとえば、file1 file2 file3
垂直分割モードでfile1
3つのファイルを開きたい場合、file2
両方の垂直分割が水平分割である必要があるとしますfile3
。
vim file1 file2 -O file3 -o
上記のコードを試しましたが、-O
3つのファイルのうち最後のコードをすべて上書きします。-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'