Vim은 여러 분할 모드로 파일을 엽니다

Vim은 여러 분할 모드로 파일을 엽니다

다중 분할 모드로 3개의 파일을 열고 싶습니다. 예를 들어 file1 file2 file3 수직 분할 모드에서 file13개의 파일을 열고 싶고 file2두 수직 분할이 모두 수평 분할이어야 한다고 가정해 보겠습니다 file3.

vim file1 file2 -O file3 -o

위의 코드를 시도했지만 -O3개 파일 중 마지막 코드를 모두 덮어씁니다.-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'

관련 정보