*usr_31.txt* Vim version 7.4 대상. 새로 고침: 2007년 5월 8일 VIM 사용설명서 - Bram Moolenaar 저 정지용 역 GUI 활용하기 Vim은 터미널에서 쓰기에도 좋지만, GUI에는 몇 가지 기능이 더 있습니다. 파일을 사용하는 명령을 사용할 때 파일 탐색기를 쓸 수 있습니다. 여러 선택지들 중에 골라야할 때는 대화상자를, 메뉴 항목들을 빠르게 사용하기 위해서는 단축키를 사용할 수 있습니다. |31.1| 파일 탐색기 |31.2| 확인 대화상자 |31.3| 메뉴 단축키 |31.4| Vim 창의 위치와 크기 |31.5| 기타 다음 장: |usr_32| 실행 취소 트리 이전 장: |usr_30| 프로그램 편집하기 차례: |usr_toc|
*31.1* 파일 탐색기 파일/열기... 메뉴를 사용하면 파일 탐색기가 뜹니다. 편집할 파일을 더 찾기 쉽게 만들어주지요. 하지만 만약 다른 파일을 화면을 나누어 편집하고 싶다면 어떻게 해야 할까요? 이를 위한 메뉴는 따로 없습니다. 창/나누기 메뉴와 파일/열기... 메뉴를 차례대로 사용해도 되겠지만, 번거롭지요. Vim에서는 대부분의 명령을 직접 키보드로 입력합니다. 파일 탐색기도 키보드로 명령을 입력해서 열 수 있습니다. 나누기 명령과 파일 탐색기를 함께 사용하려면, "browse"를 앞에 붙이세요:
:browse split
파일을 선택하면 ":split" 명령이 선택한 파일과 함께 실행될 겁니다. 파일 탐색기에서 취소를 선택하면 아무 일도 일어나지 않고 화면도 나뉘지 않습니다. 파일명 인자를 지정할 수도 있습니다. 이 인자는 파일 탐색기가 시작하는 위치를 지정하는 데 사용됩니다. 예:
:browse split /etc
"/etc" 디렉터리에서 시작하는 파일 탐색기가 뜰 겁니다. ":browse" 명령은 파일을 여는 거의 모든 명령의 앞에 붙일 수 있습니다. 따로 디렉터리를 지정하지 않으면, Vim이 알아서 시작하는 디렉터리를 결정합니다. 기본 값은 지난번에 사용한 디렉터리입니다. 즉, ":browse split" 명령을 사용한 뒤 "/usr/local/share" 안의 파일을 선택했다면, 다음번 ":browse"를 사용하면 다시 "/usr/local/share"에서 시작하는 파일 탐색기가 뜹니다. 이 기능은 'browsedir' 옵션으로 바꿀 수 있습니다. 다음 세 가지 중 하나의 값을 가집니다: last 지난번 탐색한 디렉터리를 사용(기본 값) buffer 현재 버퍼와 동일한 디렉터리를 사용 current 현재 디렉터리를 사용 예를 들어, "/usr" 디렉터리에 있고, "/usr/local/share/readme" 파일을 편집하고 있다고 합시다. 다음 명령은:
:set browsedir=buffer
:browse edit
파일 탐색기가 "/usr/local/share"에서 시작하도록 만듭니다. 아니면:
:set browsedir=current
:browse edit
와 같이 하면 파일 탐색기가 "/usr"에서 시작합니다.
Note:
마우스를 사용하지 않아도 되도록, 대부분의 파일 탐색기는 키보드로 돌아다닐 수 있습니다. 하지만 이는 시스템에 따라 제각각이라서 여기에서는 설명하지 않습니다. Vim은 가능한 한 기본 파일 탐색기를 사용합니다. 사용하는 시스템의 문서 어딘가에 키보드 단축키에 대한 내용이 있을 겁니다. GUI 버전을 사용하고 있지 않다면, 파일 탐색기에서 파일을 선택하는 것처럼 파일 익스플로러(file explorer) 창을 사용할 수도 있을 겁니다. 하지만 이건 ":browse" 명령으로는 사용할 수 없습니다. |netrw-browse
|를 참고하세요.
*31.2* 확인 대화상자 Vim에서는 실수로 파일을 덮어쓰거나 다른 이유로 변경한 내역이 없어지지 않도록 보호합니다. 무언가 일이 잘못될 수 있는 동작을 하려고 하면, Vim에서는 에러 메시지가 나오며, 정말로 하고 싶은 경우에는 !를 붙이라고 알려줍니다. 명령에 !를 붙여서 다시 타자 치기 싫다면, Vim이 대화상자를 표시하도록 할 수 있습니다. 그러면 원하는 동작을 "예"나 "취소"를 알려줄 수 있을 겁니다. 예를 들어, 파일을 편집 중이고 몇 군데를 고쳤다고 합시다. 다음과 같이 다른 파일을 편집하려고 해봅시다:
:confirm edit foo.txt
Vim은 다음과 같은 대화상자를 띄울 겁니다: +--------------------------------------------+ |
| |
? "bar"에 바뀐 내용을 저장할까요?
| || |
예(Y) 아니오(N) 취소(C)
| +--------------------------------------------+ 이제 선택하세요. 변경 사항을 저장하려면 "예(Y)"를, 변경 사항이 영원히 없어지길 원한다면 "아니오(N)"를 선택하세요. 뭐 하는 중이었는지가 명확하지 않으니 다시 한 번 확인해보고 싶다면 "취소(C)"를 선택하세요. 변경사항이 그대로인 채 동일한 파일로 다시 돌아갑니다. ":browse"와 마찬가지로, ":confirm" 명령은 다른 파일을 편집하는 대부분의 명령 앞에 붙일 수 있습니다. 두 가지를 섞어서 쓸 수도 있습니다:
:confirm browse edit
위 명령은 현재 버퍼에 변경 사항이 있으면 대화상자를 띄웁니다. 그러고 나서 편집할 파일을 선택하는 파일 탐색기를 띄웁니다.
Note:
대화상자에서 선택을 위해 키보드 단축키를 사용할 수 있습니다. 일반적으로<Tab>
키와 화살표 키로 선택을 바꿀 수 있고,<Enter>
를 누르면 선택이 이루어집니다. 하지만 이 부분은 시스템에 따라 다를 수 있습니다. GUI를 사용하고 있지 않더라도, ":confirm" 명령은 동작합니다. 대화상자를 띄우는 대신, Vim 창의 맨 아래에 키를 눌러서 선택하라는 메시지를 표시합니다.
:confirm edit main.c
"제목 없음"에 바뀐 내용을 저장할까요?
예([Y]), 아니오((N)), 취소((C)):
선택하려면 키 하나를 누르면 됩니다. 명령줄에서의 다른 동작과는 달리,<Enter>
를 누를 필요가 없습니다.
*31.3* 메뉴 단축키 모든 Vim 명령에는 키보드가 사용됩니다. 메뉴는 원하는 명령의 이름을 모르더라도 찾아서 실행할 수 있는 간편한 방법입니다. 하지만 이를 위해서는 손을 키보드에서 떼어 마우스를 쥐어야하지요. 메뉴는 보통 키보드로도 선택할 수 있습니다. 시스템에 따라 다르지만, 대부분은 다음과 같이 동작합니다.<Alt>
키와 메뉴의 밑줄이 그어진 문자를 조합하여 누르세요. 예를 들어<A-w>
(<Alt>
와 w)는 창 메뉴를 엽니다. 창 메뉴에서 "나누기(p)" 항목은 p에 밑줄이 그어져있습니다. 이를 선택하려면,<Alt>
에서 손을 떼고 p를 누르면 됩니다.<Alt>
키로 메뉴에서 첫 선택을 하고 나면, 화살표 키로 메뉴를 이리저리 돌아다닐 수 있습니다.<Right>
로는 하위 메뉴를 선택하고,<Left>
로는 닫습니다.<Esc>
로도 메뉴를 닫습니다.<Enter>
로는 메뉴 항목을 선택합니다.<Alt>
키를 메뉴 항목 선택에 쓰는 것과 매핑에서<Alt>
키 조합을 쓰는 것이 충돌하는 부분이 있습니다. 'winaltkeys' 옵션은<Alt>
키를 어떻게 사용할 것인지 지정합니다. 기본 값인 "menu"는 똑똑한 방식인데요. 키 조합이 메뉴의 단축키라면, 매핑에 사용할 수 없습니다. 다른 키 조합은 매핑에 사용 가능합니다. "no"는 메뉴에<Alt>
키를 사용하지 않는 것입니다. 따라서 메뉴를 사용하려면 꼭 마우스를 써야하고, 모든<Alt>
키 조합을 매핑에 쓸 수 있습니다. "yes"는 모든<Alt>
키 조합을 메뉴에 사용한다는 것입니다. 메뉴 선택 외에도 다른<Alt>
키 조합들이 있을 수 있습니다.
*31.4* Vim 창의 위치와 크기 화면상에서 Vim 창의 위치를 알고 싶다면:
:winpos
이 명령은 GUI에서만 동작합니다. 출력은 다음과 같을 겁니다:
창 위치: X 272, Y 103
위치는 화면 픽셀 단위로 나옵니다. 이 숫자를 Vim 창을 옮기는 데도 쓸 수 있습니다. 예를 들어 창을 왼쪽으로 100픽셀 옮기려면:
:winpos 172 103
Note:
표시된 위치와 실제 창이 이동하는 위치 사이에 약간 오차가 있을 수 있습니다. 이는 창 주위의 가장자리 영역 때문입니다. 이 영역은 창 관리자가 덧붙입니다. 구동 스크립트에 이 명령을 넣어서 창이 정해진 위치에서 뜨도록 만들 수 있습니다. Vim 창의 크기는 문자수로 계산됩니다. 따라서 사용하는 글꼴의 크기에 영향을 받습니다. 현재 크기는 다음 명령으로 볼 수 있습니다:
:set lines columns
크기를 바꾸려면 'lines'와 'columns' 옵션의 값을 바꾸면 됩니다:
:set lines=50
:set columns=80
크기를 알아내는 것은 GUI 뿐 아니라 터미널에서도 동작합니다. 하지만 크기를 바꾸는 것은 대부분의 터미널에서 불가능합니다. X 윈도우 버전의 gvim을 실행할 때 창의 크기와 위치를 인자로 지정할 수 있습니다:
gvim -geometry
{width}
x{height}
+{x_offset}
+{y_offset}
너비
{width}
와 높이{height}
는 문자 단위이고, X-위치{x_offset}
와 Y-위치{y_offset}
는 픽셀 단위입니다. 예:
gvim -geometry 80x25+100+300
*31.5* 기타 이메일 메시지를 gvim으로 편집할 수 있습니다. 사용하는 이메일 프로그램에서 메시지 편집기로 gvim을 지정해야 합니다. 하지만 잘 동작하지 않을 겁니다. gvim은 여전히 동작중인데 메일 프로그램은 편집이 끝난 걸로 인식해버리기 때문이지요. 문제는 gvim이 실행될 때, 셸과의 연결이 끊어지기 때문입니다. 터미널에서 gvim을 실행한 후, 터미널에서 다른 일을 할 때는 좋은 동작입니다. 하지만 지금은 gvim이 끝날 때까지 기다리기를 원하므로, 연결이 끊어지지 않도록 해야 합니다. "-f" 인자가 이런 동작을 합니다:
gvim -f file.txt
"-f"는 포그라운드(foreground)를 의미합니다. 이제 Vim은 실행된 셸을 편집이 끝나고 종료할 때까지 멈춰둘 겁니다. GUI의 시작을 미루기 ------------------- 유닉스에서는 Vim을 터미널에서 먼저 시작할 수 있습니다. 셸 하나에서 여러 작업을 할 때 유용하겠지요. 파일을 편집 중인데 GUI를 사용하고 싶어졌다면, 다음과 같이 시작하면 됩니다:
:gui
Vim은 GUI 창을 열고 더 이상 터미널을 사용하지 않을 겁니다. 터미널을 다른 일에 계속 쓸 수 있게 됩니다. GUI를 포그라운드에서 실행하기 위한 "-f" 인자를 여기서도 쓸 수 있습니다. ":gui -f"를 사용할 수도 있습니다. GVIM 구동 파일 -------------- gvim이 시작될 때, gvimrc 파일을 읽습니다. Vim이 시작될 때 읽는 vimrc 파일과 유사합니다. gvimrc 파일에는 GUI가 시작될 때에만 사용하는 설정과 명령들을 넣습니다. 예를 들어, 'lines' 옵션으로 창 크기를 지정할 수 있습니다:
:set lines=55
터미널에서는 크기가 고정되어있으므로 이 명령을 사용하지는 않을 겁니다(크기 조정이 가능한 일부 xterm은 빼고요). gvimrc 파일은 vimrc와 동일한 곳에 놓으면 됩니다. 일반적으로 파일의 이름은 유닉스에서는 "~/.gvimrc"이고, 마이크로소프트 윈도에서는 "$VIM/_gvimrc"입니다. $MYGVIMRC 환경 변수로 파일명을 지정할 수 있습니다. 따라서 다음과 같이 이 파일을 편집할 수도 있습니다. 이미 존재한다면 말이지요:
:edit $MYGVIMRC
어떤 이유로 기본 gvimrc 파일을 사용하지 않고 싶다면, "-U" 인자로 다른 파일을 지정할 수 있습니다:
gvim -U thisrc ...
이렇게 다른 설정의 gvim을 시작할 수 있습니다. 예를 들어 글꼴의 크기를 다르게 할 수도 있고요. gvimrc 파일을 아예 무시하도록 하려면:
gvim -U NONE ...
다음 장: |usr_32| 실행 취소 트리
저작권: |manual-copyright| 참고 vim:tw=78:ts=8:ft=help:norl:
Generated by vim2html on 2013. 12. 14. (토) 20:47:01 KST