vim을 사용할 때, 하나의 터미널에서 하나의 코드를 확인하게 되면 굉장히 불편한 점이 있다.
예를 들면 A.cpp 를 수정하다가 B.cpp에 구현 부분을 참고하려고 하는 데..
이런 식으로 여러 cpp 파일을 참고하다보면, 여러 개의 터미널 창이 열려 있는 것을 확인하게 될 것이다.
또한, 여러 개의 터미널을 열다보면, 어떤 터미널이 무슨 코드인 지도 헷갈리는 경우가 많기때문에 Vim의 화면 분할 기능은 더욱 필요하다고 할 수 있다.
Vim 화면 분할 명령어는 다음과 같다.
1. 수직으로 Vim 창 분할하기. |
Vim 입력 창에서 ESC 버튼을 누르면 명령모드로 진입한 후, 아래의 명령어를 입력한다.
1 | :split (또는 sp) | cs |
명령어를 입력하면 아래처럼 수직으로 창이 분할되는 것을 확인할 수 있을 것이다.
이외에도 여러 명령어가 있는 데, 그 중에 쓸만한 것은 다음과 같다.
- 수직으로 분할할 때의 창 크기를 20칸짜리로 만들고 싶을 때는 다음과 같이 입력한다.
1 | :20sp | cs |
- 특정 파일을 창 분할로 열고 싶은 경우에는 다음과 같이 입력한다. filename 에는 열고 싶은 파일의 이름을 넣는다.
1 | :sp filenmae | cs |
1 | :20vs ex.cpp | cs |
또한, 이 방법으로 파일 브라우징도 가능하다.
1 | :vs ./ | cs |
2. 수평으로 Vim 창 분할하기. |
수평으로 창을 분할하는 방법은 수직으로 창을 분할하는 방법에서 명령어만 달라질 뿐, 방법은 같다.
Vim 입력 창에서 ESC 버튼을 누르면 명령모드로 진입한 후, 아래의 명령어를 입력한다.
1 | :vsplit (또는 vs) | cs |
- 수직으로 분할할 때의 창 크기를 20칸짜리로 만들고 싶을 때는 다음과 같이 입력한다
1 | :30sp | cs |
- 특정 파일을 창 분할로 열고 싶은 경우에는 다음과 같이 입력한다. filename 에는 열고 싶은 파일의 이름을 넣는다.
1 | :vs filename | cs |
위의 두 가지를 혼합해서 사용할 수 있다. 예를 들자면 다음과 같다.
1 | :30sp filename | cs |
3. 화면 이동, 정리 그리고 닫는 방법 |
분할한 창을 열었으면, 닫거나 정리하는 방법도 알아야 할 것이다.
- 분할한 창으로 이동하는 방법은 다음과 같다.
1 2 3 4 | // 분할 창으로 커서 이동 Ctrl + w, w // 다음 창으로 커서 이동. Ctrl + w, W // 이전 창으로 커서 이동. Ctrl + w, [H, J, K, L] - 해당 방향으로 커서 이동 | cs |
- 분할한 창을 닫는 방법은 다음과 같다.
1 2 3 4 | // 분할한 창 닫기 :q // 현재 커서 위치의 창 닫기 :qa // 모든 창 닫기. CTRL + W, o // 현재 화면만 두고 나머지 분할 창 닫기. | cs |
- 분할한 창의 위치를 바꾸는 방법은 다음과 같다.
1 2 | // 분할 창 위치 바꾸기. CTRL + w, r // 다음 화면과 위치 바꾸기. |
1 2 3 4 5 6 7 8 | // 분할 창 크기 변경. CTRL-w, = // 분할 창 크기를 균등하게 함. CTRL-w, _ // 현재 커서 위치한 창의 높이를 최대로 함. CTRL-w, | // 현재 커서 위치한 창의 너비를 최대로 함. CTRL-w, [n] > // 현재 커서 위치한 창의 너비를 n 크기만큼 증가시킴. CTRL-w, [n] < // 현재 커서 위치한 창의 너비를 n 크기만큼 감소시킴. CTRL-w, [n] + (또는 :resize +n) // 현재 커서 위치한 창의 높이를 n 크기만큼 증가시킴. CTRL-w, [n] - (또는 :resize -n) // 현재 커서 위치한 창의 높이를 n 크기만큼 증가시킴. | cs |
'컴퓨터 관련 > Linux || Unix' 카테고리의 다른 글
리눅스에서 이메일 보내는 방법 정리 (mailutils 이용) (1) | 2019.06.16 |
---|---|
VIM 사용법 정리 (1) - vim의 모드별 설명, 파일 열기, 저장 및 종료 방법 (0) | 2019.06.13 |
[gdb] gdb 소스코드와 함께 디버깅 하는 방법 (layout) (0) | 2018.07.21 |
[Linux] gdb 긴 문자열 전부 출력하는 방법 (0) | 2018.06.20 |
[Linux] 리눅스 USB FAT32 포맷하는 방법 정리 (0) | 2018.06.17 |
댓글