*usr_04.txt* Vim version 7.4 대상. 새로 고침: 2008년 9월 6일 VIM 사용설명서 - Bram Moolenaar 저 정지용 역 약간 고치기 이번 장에서는 약간 고치거나 내용을 이리 저리 옮기는 몇 가지 방법을 살펴보겠습니다. 내용을 바꾸는 세 가지 기본 방식을 배우게 될 텐데요. 오퍼레이터-움직임 방식과 시각 모드, 텍스트 오브젝트입니다. |04.1| 오퍼레이터와 움직임 |04.2| 내용 바꾸기 |04.3| 반복해서 바꾸기 |04.4| 시각 모드 |04.5| 내용 옮기기 |04.6| 내용 복사하기 |04.7| 클립보드 사용하기 |04.8| 텍스트 오브젝트 |04.9| 바꾸기 모드 |04.10| 결론 다음 장: |usr_05| 설정 바꾸기 이전 장: |usr_03| 돌아다니기 차례: |usr_toc|
*04.1* 오퍼레이터와 움직임 2장에서 글자 하나를 지우는 "x" 명령을 배웠습니다. 숫자를 쓰는 법도요. 예를 들어 "4x"는 네 글자를 지우지요. "dw" 명령은 어절(영어라면 단어) 하나를 지웁니다. "w" 명령이 어절 하나를 이동하는 명령이라는 점 눈치 채셨나요? 사실 "d" 명령에는 움직임을 일으키는 모든 명령이 따라올 수 있습니다. 현재 위치에서부터 커서가 닿을 위치까지를 지우는 명령이 되지요. 예를 들어, "4w" 명령은 커서를 네 어절 뒤로 옮깁니다. d4w 명령은 네 어절을 지웁니다.To err is human. To really foul up you need a computer.
------------------> d4wTo err is human. you need a computer.
Vim은 움직인 후 커서가 위치했을 곳 앞까지만 지웁니다. 아마도 다음 어절의 첫 글자를 지우고 싶지는 않을 테니까요. 만약 단어의 끝으로 이동하는 "e" 명령을 사용했다면, Vim은 마지막 글자까지 지우고 싶을 것이라고 추측해서 동작합니다:To err is human. you need a computer.
--------> d2eTo err is human. a computer.
커서 위치의 글자를 지우느냐 마느냐는 해당 문자로 이동하기 위해 사용한 명령에 따라 다릅니다. 상세 설명서에서는 문자가 포함되지 않으면 "불포함(exclusive)", 포함되면 "포함(inclusive)"이라고 부릅니다. "$" 명령은 줄의 끝으로 이동하는 명령입니다. "d$" 명령은 커서 위치에서 줄의 끝까지를 지웁니다. 이 움직임은 "포함"하는 움직임입니다. 즉 줄의 마지막 문자가 지우는 범위에 포함됩니다:To err is human. a computer.
------------> d$To err is human
여기서 "오퍼레이터-움직임"이라는 패턴을 볼 수 있습니다. 먼저 오퍼레이터 명령을 입력합니다. 예를 들어 "d"는 지우기 오퍼레이터지요. 그리고는 "4l"이나 "w" 같은 움직임 명령을 입력합니다. 이 패턴을 익히면 어떤 문서든 그 위에서 움직이는 방식을 활용하여 편집할 수 있습니다.
*04.2* 내용 바꾸기 또 다른 오퍼레이터 "c"를 살펴보겠습니다. 바꾸기(change) 오퍼레이터입니다. "d" 오퍼레이터와 동일하게 동작하지만, 동작이 끝난 후 입력 모드가 된다는 점이 다릅니다. 예를 들어 "cw"는 어절(word)을 바꾸는 명령입니다. 좀 더 풀어서 설명하면 어절 하나를 지운 후, 입력 모드로 들어가는 명령입니다.To err is human
-------> c2wbe<Esc>
To be human
위에서 "c2wbe<Esc>
"는 다음 명령들로 구성됩니다: c 바꾸기 오퍼레이터 2w 두 어절 이동 (두 어절이 지워지면서 입력 모드로 바뀜) be 내용 입력<Esc>
보통 모드로 변경 만약 위 과정을 주의 깊게 보았다면 이상한 점을 하나 발견했을 겁니다. "human" 앞의 공백이 지워지지 않았지요. 모든 문제에는 단순하고 명확하고, 그리고 틀린 답이 있다는 말이 있지요. 위에서 살펴본 "cw" 명령의 경우가 그렇습니다. c 오퍼레이터는 d 오퍼레이터와 똑같이 동작하지만, 딱 하나 "cw"만 예외입니다. "cw"는 사실 "ce"와 같이 어절의 끝으로 이동하는 방식으로 동작합니다. 따라서 어절 뒤에 나오는 공백은 포함되지 않지요. 이건 옛날 Vi 때부터 존재하던 예외입니다. 많은 사람들이 여기에 이미 익숙하기 때문에, 이런 비일관성을 Vim에서도 계속 갖고 있습니다. 더 많이 바꾸기 -------------- "dd"가 줄 전체를 지우듯이, "cc"는 줄 전체를 바꿉니다. 하지만 들여쓰기 부분(줄 맨 앞의 공백)은 지우지 않습니다. "d$"가 줄의 끝까지를 지우듯, "c$"는 줄의 끝까지를 바꿉니다. 실제 동작은 "d$"로 지운 후 "a"로 입력 모드로 들어가 내용을 덧붙이는 것과 똑같지요. 단축키 ------ 몇 가지 오퍼레이터-움직임 명령 조합은 너무 자주 쓰기 때문에 한 글자 명령으로 더 쉽게 쓸 수 있게 해놓았습니다: x 는 dl (커서 밑의 문자를 지우기) X 는 dh (커서 왼쪽의 문자를 지우기) D 는 d$ (줄의 끝까지 지우기) C 는 c$ (줄의 끝까지 바꾸기) s 는 cl (한 글자 바꾸기) S 는 cc (줄 전체 바꾸기) 숫자를 어디에 넣을까요 ---------------------- "3dw"와 "d3w"는 세 어절을 지웁니다. 정말 꼬치꼬치 따져보자면, "3dw"는 한 단어씩 세 번 지우고, "d3w"는 세 단어를 한 번에 지운다는 차이점이 있습니다. 하지만 사용하는 데는 전혀 차이가 없습니다. 뿐만 아니라 두 군데 모두에 숫자를 넣을 수도 있습니다. 예를 들어 "3d2w"는 두 단어씩 세 번을 지웁니다. 도합 여섯 단어를 지우는 것이지요. 한 글자 바꾸기 -------------- "r" 명령은 오퍼레이터가 아닙니다. "r"은 한 글자를 더 입력 받아서, 커서 밑의 글자를 입력받은 글자로 바꿉니다. 같은 일을 "cl"이나 "s" 명령으로도 할 수 있지만, "r"은<Esc>
를 누를 필요가 없다는 차이가 있습니다:there is somerhing grong here
rT rt rwThere is something wrong here
"r"에 숫자를 붙이면, 그 숫자만큼의 글자가 같은 글자로 바뀝니다. 예:There is something wrong here
5rxThere is something xxxxx here
글자를 줄 바꿈으로 바꾸려면 "r<Enter>
"를 사용하면 됩니다. 글자 하나를 지우고 그 자리에 줄 바꿈을 넣지요. 이때는 숫자를 붙이면 지워지는 문자의 수에만 영향을 줍니다. "4r<Enter>
"는 네 글자를 지우지만 줄 바꿈은 하나만 넣습니다.
*04.3* 반복해서 바꾸기 "." 명령은 Vim에서 가장 단순하지만 강력한 명령 중 하나입니다. 마지막 변경을 반복하는 명령이지요. 예를 들어, HTML 파일을 편집하는 중이고, 모든<B>
태그를 지우고 싶다고 합시다. 첫 번째<로 커서를 옮긴 후, "df>
" 명령으로<B>
를 지우면 됩니다. 그리고는 다음</B>
의<로 이동한 후, "." 명령으로 </B>
를 지울 수 있습니다. "." 명령은 마지막으로 사용한 변경 명령을 실행합니다 (여기서는 "df>"). 다른 태그를 지우려면, <에 커서를 놓고 "." 명령을 사용하면 됩니다.To
f<B>
generate</B>
a table of<B>
contents< 첫 < 찾기 --->
df> > 까지 지우기 --> f< 다음 < 찾기 --------->
. df> 반복 ---> f< 다음 < 찾기 ------------->
. df> 반복 --> "." 명령은 내용을 바꾸는 모든 명령에 사용할 수 있습니다. 단, "u"(실행 취소),CTRL-R
(재실행), 콜론(:)으로 시작하는 명령은 예외입니다. 또 다른 예: "four"를 "five"로 바꾸고 싶다고 합시다. "four"가 당신이 작업 중인 글에서 여러 번 나타납니다. 다음과 같은 명령들로 빠르게 바꿀 수 있습니다: /four<Enter>
첫 "four" 문자열 찾기 cwfive<Esc>
단어를 "five"로 바꾸기 n 다음 "four" 찾기 . "five"로 바꾸기 반복 n 다음 "four" 찾기 . 바꾸기 반복 등등.
*04.4* 시각 모드 단순한 부분을 지울 때는 오퍼레이터-움직임만 사용해도 충분합니다. 하지만 어떤 명령을 사용해야 바꾸고 싶은 부분을 표현할 수 있을지 알기 어려울 때가 종종 있습니다. 이런 때는 시각 모드(Visual mode)를 사용하세요. "v"를 눌러 시각 모드를 시작합시다. 편집할 부분으로 커서를 움직여보세요. 움직임에 따라 해당 부분이 강조되는 것을 볼 수 있습니다. 마지막으로 오퍼레이터 명령을 입력하세요. 예를 들어, 한 단어에서 조금, 그 다음 단어의 조금을 지우고 싶다면:This is an examination sample of visual mode
----------> velllldThis is an example of visual mode
시각 모드를 사용하면 정확히 원하는 곳까지 지우려면 "l"을 몇 번 눌러야하는지 셀 필요가 없습니다. "d"를 누르면 무엇이 지워지는지를 바로 눈으로 볼 수 있으니까요. 만약 강조된 부분에 대해서 아무 것도 하지 않고 싶어졌다면, 언제든지<Esc>
를 누르면 시각 모드가 끝나고 아무 일도 일어나지 않습니다. 줄 선택하기 ----------- 줄 전체를 고치고 싶다면, "V"로 시각 모드를 시작하세요. 아직 움직이지 않았는데도 바로 줄 전체가 강조된 것을 볼 수 있을 겁니다. 좌우로 움직여서는 아무 것도 바뀌지 않습니다. 위나 아래로 움직이면 한 줄씩 한꺼번에 선택 영역에 포함됩니다. 예를 들어, "Vjj"로 세 줄을 선택해봅시다: +------------------------+ |내용 또 내용
| >> |또 내용 또 내용
| | 선택된 줄 >> |내용 내용 내용
| | Vjj >> |내용 또
| V |또 내용 또
| +------------------------+ 블록 선택하기 ------------- 사각형 블록 영역의 내용을 변경하고 싶다면,CTRL-V
로 시각 모드를 시작하세요. 이 기능은 표 작업을 할 때 매우 유용합니다. 이름 1분기 2분기 3분기 영희 123 455 234 민수 0 90 39 세인 392 63 334 중간의 "2분기" 열을 지우고 싶다고 합시다. 커서를 "2분기"의 "2"로 옮긴 후,CTRL-V
를 눌러서 블록 시각 모드를 시작하세요. "3j"로 커서를 세 줄 아래로 옮기고, "w"로 다음 어절로 움직입니다. 다음 열의 첫 글자가 선택 범위에 포함되어있을 텐데요, "h"를 눌러서 제외시킵시다. 이제 "d"를 누르면 중간의 열이 사라집니다. 반대쪽 끝으로 가기 ------------------ 시각 모드에서 어떤 부분을 선택했다고 합시다. 그런데 선택 영역의 반대쪽 끝을 바꿀 필요가 생겼다면, "o" 명령을 사용하세요 (힌트: o는 다른쪽 끝(other end)을 의미합니다). 커서가 다른 쪽 끝으로 움직일텐데요, 커서를 움직여서 선택 영역이 시작하는 위치를 바꿀 수 있습니다. "o"를 다시 누르면 원래의 끝으로 돌아옵니다. 블록 시각 모드를 사용하면 꼭지점이 네 군데 생깁니다. "o"로는 대각선 방향의 두 곳만 왔다갔다할 수 있습니다. "O"를 사용하면 같은 줄에 있는 다른 꼭지점으로 갈 수 있습니다. 시각 모드에서는 "o"와 "O"가 보통 모드와 다르게 동작하니 주의하세요. 보통 모드에서는 커서 아래나 위에 새로운 줄을 여는 명령입니다.
*04.5* 내용 옮기기 "d"나 "x", 그 밖의 명령으로 무언가를 지우면, 지운 내용이 저장됩니다. 이 내용은 p 명령으로 붙여 넣을 수 있습니다. (이 기능은 Vim 내에서 넣기(put)라고 부릅니다). 어떻게 동작하는지 한 번 살펴보지요. 먼저 한 줄 전체를 지워봅시다. 지울 줄로 커서를 옮긴 후 "dd"를 입력하면 됩니다. 이제 커서를 넣을 위치로 옮긴 후 "p" (put) 명령을 사용합시다. 커서 밑의 줄에 지운 내용이 들어갑니다. 첫 번째 줄 첫 번째 줄 첫 번째 줄 두 번째 줄 dd 세 번째 줄 p 세 번째 줄 세 번째 줄 두 번째 줄 줄 전체를 지웠기 때문에 "p" 명령이 커서 밑에 내용을 넣었습니다. 만약 줄의 일부(예를 들어 한 단어)를 지웠다면, "p" 명령은 커서 바로 뒤에 내용을 넣을 겁니다.Some more boring try text to out commands.
----> dwSome more boring text to out commands.
-------> welpSome more boring text to try out commands.
넣기 더 살펴보기 ---------------- "P" 명령은 "p"와 같지만 커서 앞에 내용을 넣는다는 점이 다릅니다. 만약 "dd"로 줄 전체를 지웠다면, "P"는 커서 위에 내용을 넣을 겁니다. "dw"로 어절을 지웠다면, "P"는 커서 바로 앞에 지운 내용을 넣을 겁니다. 넣기는 여러 번 반복할 수 있습니다. 같은 내용이 계속 사용됩니다. "p"나 "P"에 숫자를 붙일 수도 있습니다. 내용이 지정된 숫자만큼 반복되어 들어갑니다. 즉 "dd" 후 "3p"를 하면 지운 줄의 내용이 세 번 들어갑니다. 두 문자 바꾸기 -------------- 타자를 치다보면 가끔씩 손가락이 머리보다 앞서 움직일 때가 있습니다 (아니면 거꾸로). 그 결과 "the"가 아니라 "teh"와 같이 오타를 낼 때가 있지요. Vim에서는 이런 실수를 쉽게 고칠 수 있습니다. 커서를 "teh"의 e에 놓고 "xp" 명령을 실행하세요. 이 명령은 다음과 같이 동작합니다: "x"가 문자 e를 지우고 레지스터에 저장합니다. "p"는 내용을 커서 뒤에 넣으므로 h 다음에 들어가게 됩니다.teh th the
x p
*04.6* 내용 복사하기 내용을 한 곳에서 다른 곳으로 복사하려면, 먼저 지운다음, "u" 명령으로 지운 것을 되살리고, 다른 곳에 가서 "p"로 내용을 넣으면 됩니다. 더 쉬운 방법은 복사(yanking)를 하는 것이죠. "y" 오퍼레이터는 내용을 레지스터에 복사합니다. 그러면 "p" 명령으로 복사한 내용을 넣을 수 있습니다. "Yanking"이라는 이름은 Vim에서만 쓰는 복사(copy)를 뜻하는 이름입니다. "c" 글자는 이미 바꾸기 오퍼레이터로 사용하고 있었고, "y"는 남아있었거든요. 이 동작을 "yank"라고 불러서 명령 키가 "y"인 것을 기억하기 더 쉽게 만들었지요. "y"는 오퍼레이터이기 때문에, "yw"로 어절(word)을 복사할 수 있습니다. 당연히 숫자도 붙여서 쓸 수 있지요. 두 어절을 복사하려면 "y2w"를 쓰면 됩니다. 예:let sqr = LongVariable *
--------------> y2wlet sqr = LongVariable *
plet sqr = LongVariable * LongVariable
"yw"에 어절 뒤의 공백도 포함되는 것에 주의하세요. 공백을 포함시키지 않으려면, "ye"를 사용하세요. "yy" 명령은 줄 전체를 복사합니다. "dd"가 줄 전체를 지우는 것처럼 말이지요. 하지만 "D"가 현재 커서 위치에서부터 줄 끝까지를 지우는 것과는 달리, "Y"는 "yy"와 동일하게 동작합니다. 줄 전체를 복사하지요. 이 차이에 유의하세요! 줄 끝까지를 복사하려면 "y$"를 사용하면 됩니다. 내용입니다. yy 내용입니다. 내용입니다. 두 번째 줄 두 번째 줄 p 두 번째 줄 마지막 줄 마지막 줄 내용입니다. 마지막 줄
*04.7* 클립보드 사용하기 Vim의 GUI 버전(gvim)을 사용하고 있다면, "편집(E)" 메뉴에서 "복사(C)" 항목을 사용할 수 있습니다. 먼저 시각 모드에서 적절히 내용을 선택한 후, 편집/복사 메뉴를 사용해보세요. 선택한 내용이 클립보드에 복사되었을 겁니다. 이 내용은 다른 프로그램에서 붙여 넣을 수 있습니다. 물론 Vim에서도요. 만약 다른 프로그램에서 클립보드로 텍스트를 복사했다면, Vim에서 편집(E)/붙이기(P) 메뉴를 사용하여 붙여 넣을 수 있습니다. 이 기능은 보통 모드와 입력 모드에서만 동작합니다. 시각 모드에서는 붙여넣는 내용이 선택한 내용을 지우면서 들어갑니다. "자르기(t)" 메뉴 항목은 클립보드에 넣기 전에 내용을 지웁니다. "복사", "자르기", "붙이기" 기능은 팝업 메뉴에서도 쓸 수 있습니다(물론 팝업 메뉴를 쓸 수 있는 시스템에서만 가능합니다). Vim에 도구막대(toolbar)가 있다면, 도구막대에서도 찾아볼 수 있습니다. GUI를 사용하지 않거나, 메뉴를 사용하고 싶지 않다면, 다른 방식을 사용해야 합니다. 일반적인 "y" (복사, yank)나 "p" (넣기, put) 명령을 사용하되, 앞에 "* (따옴표 별) 을 붙이세요. 한 줄을 클립보드에 복사하려면:
"*yy
클립보드의 내용을 다시 넣으려면:
"*p
이 기능은 클립보드 기능을 지원하는 Vim 버전에서만 사용할 수 있습니다. 클립보드에 대한 더 자세한 내용은 |09.3| 절과 |
clipboard
|에서 확인하세요.
*04.8* 텍스트 오브젝트 만약 커서가 어절의 중간에 있고, 전체 어절을 지우고 싶다고 합시다. "dw" 명령으로 어절을 지우기 전, 먼저 커서를 어절의 처음으로 옮겨야 하겠지요. 더 간단한 방법이 있습니다: "daw".this is some example text.
dawthis is some text.
"daw"의 "d"는 지우기 오퍼레이터입니다. "aw"는 텍스트 오브젝트입니다. 힌트: "aw"는 "A Word"(하나의 어절)를 의미합니다. 따라서 "daw"는 "Delete A Word"(지워라 하나의 어절을)입니다. 정확하게 따져보자면, 어절 뒤의 공백도 함께 지워집니다(줄의 끝에서는 어절 앞의 공백). 텍스트 오브젝트를 이용하는 것이 Vim에서 내용을 바꾸는 세 번째 방법입니다. 앞에서는 오퍼레이터-움직임과 시각 모드를 살펴봤지요. 이제 오퍼레이터-텍스트 오브젝트를 추가해보세요. 오퍼레이터-텍스트 오브젝트는 오퍼레이터-움직임과 매우 유사합니다. 움직임 명령 전후의 커서 위치 사이의 내용을 다루는 대신, 텍스트 오브젝트 전체를 다루는 점만 다릅니다. 텍스트 오브젝트 내에서 커서가 어디에 있는지는 상관이 없습니다. 문장 전체를 바꾸려면 "cis"를 사용하세요. 아래 예를 봅시다:Hello there. This
is an example. Just
some text.
두 번째 줄의 처음 "is an" 부분으로 가서, "cis"를 사용해봅시다:Hello there. Just
some text.
커서는 첫 번째 줄의 공백들 사이에 있습니다. 이제 새로운 문장 "Another line."을 입력해 봅시다:Hello there. Another line. Just
some text.
"cis"는 "c" (change, 바꾸기) 오퍼레이터와 "is" 텍스트 오브젝트를 합한 것입니다. "is"는 "Inner Sentence"(안쪽 문장)를 의미합니다. "as" (a sentence, 한 문장) 텍스트 오브젝트도 있습니다. 둘 간의 차이는 "as"가 문장 뒤의 공백을 포함하는 반면, "is"는 포함하지 않는다는 것입니다. 만약 문장을 지운다면, 그 뒤의 공백도 함께 지우고 싶겠지요. 그러면 "das"를 사용하세요. 만약 다른 내용을 넣을 거라면 공백이 그대로 있어도 되겠지요. 그러면 "cis"를 사용하면 됩니다. 시각 모드에서도 텍스트 오브젝트를 사용할 수 있습니다. 시각 모드 선택 영역에 텍스트 오브젝트를 추가하는 것이지요. 시각 모드는 계속 유지되니, 이 동작을 여러번 할 수도 있습니다. 예를 들어, "v"로 시각 모드를 시작한 후, "as"로 문장을 선택합시다. 그 후 "as"를 반복하면 계속 더 문장이 선택됩니다. 마지막으로 선택한 문장들에 오퍼레이터로 무언가를 하면 됩니다. 텍스트 오브젝트 전체의 긴 목록은 여기서 확인하세요: |text-objects
|.
*04.9* 바꾸기 모드 "R" 명령은 바꾸기 모드를 시작하는 명령입니다. 이 모드에서는 입력하는 문자 하나하나가 커서 위치에 있는 문자를 대체합니다. 그리고<Esc>
를 누를 때까지 계속됩니다. 다음 예에서는 "text"의 첫 "t"에서 바꾸기 모드를 시작한 것입니다:This is text.
Rinteresting.<Esc>
This is interesting.
위 예에서 다섯 글자가 지워지고 열두 글자가 입력된 것을 볼 수 있습니다. "R" 명령은 대체할 글자가 없어지면 자동으로 줄 뒤에 덧불여나갑니다. 다음 줄로 이어지지는 않습니다.<Insert>
키로 입력 모드와 바꾸기 모드를 오갈 수 있습니다. 수정을 하기 위해<BS>
(백스페이스)를 누르면, 예전 내용이 다시 나타나는 것을 볼 수 있습니다. 따라서 마지막에 입력한 문자를 되돌리기 위한 명령으로 활용할 수 있습니다.
*04.10* 결론
오퍼레이터, 움직임 명령과 텍스트 오브젝트를 조합하면 수많은 명령을 만들 수
있습니다. 이제 어떻게 동작하는지 이해했으니, N개의 오퍼레이터와 M개의 움직임
명령을 섞어 N * M 개의 명령을 만들 수 있을 겁니다!
전체 오퍼레이터의 목록은 |operator
|에 있습니다.
예를 들어, 내용 일부를 지우는 데는 많은 방법이 있습니다. 자주 사용하는 것 몇
가지만 여기서 살펴보지요:
x 커서 밑의 문자를 지우기 ("dl"의 축약)
X 커서 앞의 문자를 지우기 ("dh"의 축약)
D 커서에서부터 줄의 끝까지 지우기 ("d$"의 축약)
dw 커서에서 다음 어절의 시작까지 지우기
db 커서에서 앞에 있는 어절의 시작까지 지우기
diw 커서 밑의 어절 지우기 (공백 불포함)
daw 커서 밑의 어절 지우기 (공백 포함)
dG 파일의 맨 마지막까지 지우기
dgg 파일의 맨 앞까지 지우기
"d" 대신 "c"를 사용하면 바꾸기 명령이 됩니다. 그리고 "y"를 사용하면 복사가
되는 등입니다.
이 밖에 다른 곳에서 설명하지 않은 자주 쓰는 바꾸기 명령은 다음과 같습니다:
~ 커서 밑 문자의 대소문자를 바꾸고, 다음 문자로 커서를 옮김.
오퍼레이터가 아닙니다 ('tildeop'이 설정되어 있지 않다면요).
따라서 움직임 명령과 함께 사용할 수 없습니다. 하지만 시각
모드에서 사용하면 선택한 부분 전체의 대소문자를 변경할 수
있습니다.
I 커서를 줄에서 공백이 아닌 첫 문자로 옮긴 후 입력 모드를 시작.
A 커서를 줄의 끝으로 옮긴 후 입력 모드를 시작.
다음 장: |usr_05| 설정 바꾸기 저작권: |manual-copyright| 참고 vim:tw=78:ts=8:ft=help:norl:
Generated by vim2html on 2013. 12. 14. (토) 20:47:01 KST