UTIL/Vim Editor
Vim 에디터에 대해 알아보자 - 6 (창 분할, 탭 사용)
장피디
2011. 6. 23. 18:34
반응형
이제 Vim 에디터를 조금 더 고급스럽게 써보는 방법인 창분할 과 탭 사용법에 대해서 알아보도록 하자.
사실 본인의 경우는 창을 분할해서 사용하기 보단 여러개의 터미널로 접속해서 사용하였다. 물론 이렇게 하게 되면 각 창별로 내가 셋팅해서 사용할 수 있기 때문에 편하긴 하지만 서버에 터미널 접속 갯수의 제한이 있거나 동시에 파일을 여러개 띄어놓고 한개의 창에서 작업하기에는 창 분할을 사용하는게 더욱 효율적이다. 물론 어느 것이나 그렇지만 익숙해지면 정말로 훌룡한 기능이다. 비쥬얼 베이직이나 여러 다른 편집 툴 역시 탭이나 창분할을 지원하기도 하지만 Vim은 빠르고 사용법이 간단하다는 장점이 있으니 Vim 에디터의 창분할 기능을 적극적으로 사용해서 사용해보자.
------------------------------------------------------------------------------------------------------------------------------------
명령어 | 설명 | 모드 |
:#sp filename | #에 숫자를 넣은 행의 크기 만큼 창이 수평 분할된다. filename을 넣게 되면 해당 파일을 오픈하거나 없으면 새파일을 만든다. 같은 파일에서는 일반모드로 #ctrl-w s 를 치면 #크기 만큼 창이 수평으로 분할된다. | 명령행 모드 |
:#vs filename | #에 숫자를 넣은 열의 크기 만큼 창이 수직 분할된다. filename을 넣게 되면 해당 파일을 오픈하거나 없으면 새파일을 만든다. 같은 파일에서는 일반모드로 #ctrl-w v 를 치면 #크기 만큼 창이 수직으로 분할된다. | 명령행 모드 |
:#new filename | #에 넣은 숫자만큼 상하로 창을 수평 분할하여 위쪽에 창에는 새로운 파일을 생성하여 표시한다. 일반모드에서 #ctrl-w n 를 치면 단축키로 사용할 수 있다. | 명령행 모드 |
:#vnew filename | #에 넣은 숫자만큼 좌우로 창을 수직 분할하여 왼쪽에 창에는 새로운 파일을 생성하여 표시한다. | 명령행 모드 |
ctrl-w ctrl-방향키 또는 ctrl-w 방향키 또는 ctrl-w ctrl-h,j,k,l (소문자) |
현재 창에서 해당 방향의 창으로 이동할 때 사용된다. 방향키 대신 소문자로 h,j,k,l 키를 사용할 수 있다. 대신 대문자를 사용하면 창을 해당으로 보내게 된다. | 일반모드 |
ctrl-w ctrl-w ctrl-w w |
현재 창에서 오른쪽 방향으로 이동합니다. 오른쪽 끝 창이라면 아래로 내려감. | 일반모드 |
ctrl-w ctrl-p ctrl-w p |
바로 이전에 사용한 창으로 이동. | 일반모드 |
ctrl-w = | 모든 창의 크기를 동일하게 조절 | 일반모드 |
ctrl-w #+ | #크기만큼 창의 크기를 키운다. #이 생략되어 있을시에는 1로 판단. | 일반모드 |
ctrl-w #- | #크기만큼 창의 크기를 줄인다. #이 생략되어 있을시에는 1로 판단. | 일반모드 |
아래의 다양한 크기로 조정된 창들이 수평 수직분할이 되어 있으며 맨 위에는 새로운 파일을 생성해서 다양하게 관리하고 있다.
또한 처음 vim을 시작할 때 여러 파일을 분할하여 창을 열고 싶다면 -o 또는 -O 옵션을 사용하여 열면 된다.
두 창을 상하로 분리하여 사용하고 싶다면 소문자 o를 좌우로 분리해서 사용하고 싶다면 대문자 O를 사용하면 된다.
먼저 위치는 것이 위쪽에 그리고 왼쪽에 위치하게 된다.
ex) vim -o John.txt set.x t.x 를 했을 때의 결과 화면
또한 창 분할의 강력한 기능을 소개하자면 바로 두 개의 파일을 비교하는 기능이다.
vim 을 처음 시작할 때 -d 옵션을 주고 vim -d filename.x filename2.x 와 같이 입력하게 되면 아래와 같이 두개의 수직분할된 창을 열어 서로 다른 내용을 표시해준다. 원본을 놔두고 수정사항을 체킹해야 하거나 디버깅 할 때, 혹은 버젼을 관리해야 할 때 유용하게 사용할 수 있을 것이다.
------------------------------------------------------------------------------------------------------------------------------------
창 분할의 경우는 생성할 수록 창의 크기가 n개의 갯수만큼 분할 되기 때문에 한번에 코드 내용을 많이 보면서 편집할 때는 적절하지 않다.
따라서 여타 편집기와 같이 vim에서는 tab 기능을 제공하는데 마우스가 아닌 모든 것을 키보드로 처리해야 한다. 명령어가 직관적이어서 크게 어렵지 않으니 한번 살펴보자.
명령어 | 설명 | 모드 |
:#tabedit filename 또는 :#tabe filename |
#번째 탭에 filename에 해당 하는 파일을 엽니다. #이 생략되면 현재 열려 있는 탭 바로 뒤에 탭을 생성하여 파일을 엽니다. filename이 생략되면 빈 이름의 파일이 생성됩니다. | 명령행 모드 |
:#tabnew filename | #번째 탭에 파일을 생성합니다. #이 생략되면 현재 열려 있는 탭 바로 뒤에 탭을 생성하여 파일을 생성합니다. filename이 생략되면 빈 이름의 파일이 생성됩니다. | 명령행 모드 |
:#tabclose 또는 :#tabc |
#번째 탭의 파일을 닫습니다. #이 생략되면 현재의 탭을 닫습니다. | 명령행 모드 |
:#tabnext 또는 :#tabn |
#번째 다음 탭을 봅니다. #이 없으면 바로 다음 탭을 엽니다. | 명령행 모드 |
#gt | #번째 탭을 엽니다. #이 생략되면 바로 다음 탭을 엽니다. | 일반 모드 |
#ctrl-PageDown | #번째 탭을 엽니다. #이 생략되면 바로 다음 탭을 엽니다. | 일반 모드 |
:#tabprevious 또는 :#tabp |
#번째 이전 탭을 봅니다. #이 없으면 바로 이전 탭을 엽니다. | 명령행 모드 |
#gT | #번째 이전 탭을 엽니다. #이 생략되면 바로 이전 탭을 엽니다. | 일반 모드 |
#ctrl-pageUp | #번째 이전 탭을 엽니다. #이 생략되면 바로 이전 탭을 엽니다. | 일반 모드 |
:tabmove # 또는 :tabm # |
#번째 탭으로 이동합니다. #이 생략되면 가장 마지막 탭으로 이동합니다. | 명령행 모드 |
아래 그림파일을 보면 t1.x 파일 즉 3번째 탭이 할성화 되어 있다. 또한 파일 명 바로 앞에 + 가 있는 건 수정내용이 있다는 것을 의미한다. 여러 파일을 동시에 열때와 달리 탭을 이용해서 열게 되면 굳이 저장하지 않아도 이동이 가능하다.
창을 분할할 때도 옵션을 줘서 파일을 열었듯이 탭 역시 처음 실행시 옵션을 주면 아래와 같이 탭을 가지고 실행 시킬 수 있다. 옵션은 -p 이다.
ex) vim -p filename.x filename1.x
반응형