다중 분할 모드로 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'