Vimは複数の分割モードでファイルを開きます

Vimは複数の分割モードでファイルを開きます

マルチ分割モードで3つのファイルを開きたいです。たとえば、file1 file2 file3 垂直分割モードでfile13つのファイルを開きたい場合、file2両方の垂直分割が水平分割である必要があるとしますfile3

vim file1 file2 -O file3 -o

上記のコードを試しましたが、-O3つのファイルのうち最後のコードをすべて上書きします。-o

ベストアンサー1

-o-Oおよび-pは相互に排他的です。それらを組み合わせることはできません。

からmain.ccommand_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; 

ご覧のとおり、「該当するウィンドウを水平に分割し、そのウィンドウを垂直に分割」と言える方法はありません。

必要なものを達成する最も簡単な方法は、次のように-cVimに「直接」コマンドを送信することです。

vim main.c -c ':split gui.c' -c ':vsplit window.c'

次のように省略できます。

vim main.c -c 'sp gui.c | vs window.c'

おすすめ記事