vim 모드 전환


앞에서 vim의 모드에 대하여 간단한 포스팅을 올린 바 있다. 그 내용은 명령(command) 모드편집(insert) 모드가 있다는 것이다. 


대부분의 작업은 명령 모드에서 이루어진다. 편집 모드는 글자를 입력하는 역할만 하고, 편집, 수정, 삭제, 각종 명령 등 모두 명령 모드에서 이루어진다. 따라서 vim에서의 작업은 명령 모드와 편집 모드의 끊임없는 전환의 형태로 이루어지고 이것에 익숙해져야 한다. 



편집 모드 → 명령 모드


편집 모드에서 명령 모드로 전환하는 키는 Esc 키다. 그런데 Esc 키가 키보드에서 누르기 어려운 위치에 있으므로 이것을 대체하는 키가 있는데 그것이 바로 <Ctrl+[> 키다. (< >로 묶인 키는 동시에 누른다Ctrl 키를 누른 상태에서 [ 키를 누른다.)


편집 모드에서 Esc 키, <Ctrl+[> 키를 누르면 명령 모드로 전환



명령 모드 → 편집 모드


명령 모드에서 편집 모드로 전환할 때는 필요에 따라 사용할 수 있는 다양한 방식이 있다. 

아래의 사례들은 모두 명령 모드에서 누르는 단축키다. 커서의 위치에 주목해서 살펴보자.


i i(insert)는 현재 커서 위치에서 편집 모드로 전환한다.

I have a dream! i를 누른다.

I have a dream! → 커서의 위치는 바뀌지 않고 편집 모드로 변경


a a(append)는 현재 커서 위치 다음 칸에 첨가되고 편집 모드로 전환

I have a dream! a를 누른다. 

I have a dream! → 커서가 한칸 오른쪽으로 이동해서 편집 모드로 전환


A 현재 커서가 위치한 행의 끝에서 첨가되고, 편집 모드로 전환

I have a dream! A를 누른다.

I have a dream!  → 현재 행의 끝으로 이동해서 첨가


I I는 현재 행의 맨 앞으로 커서가 이동해서 편집 모드로 전환

I have a dream! I를 누른다.

I have a dream! → 현재 행의 맨 처음으로 이동해서 끼워넣기


s 커서가 위치한 글자를 지우고 편집모드로 전환

I have a dream! s를 누른다.

I have a drem→ 커서가 위치한 글자가 지워짐


o o(open line)는 커서가 있는 행 아래에 새로운 행을 만들어 커서를 위치시킨 후 편집 모드로 전환

 

아래의 상황에서 o 키를 누른다.

 

I have a dream!

I want to be an excellent programmer.

 

원래 커서가 있던 행의 아래에 새로운 행이 생기고 커서의 위치가 새로운 행의 처음으로 이동한다. 편집 모드로 전환된다.

 

I have a dream!

   

I want to be an excellent programmer.


O 커서가 있는 행 위에 새로운 행을 만들어 커서를 위치시킨 후 편집 모드로 전환

 

아래의 상황에서 O 키를 누른다.

 

I have a dream!

I want to be an excellent programmer.

 

원래 커서가 있던 행의 위에 새로운 행이 생기고 커서의 위치가 새로운 행의 처음으로 이동한다. 편집 모드로 전환된다.

 

I have a dream!

   

I want to be an excellent programmer.


cc 커서가 위치한 행이 지워지면서 편집 모드로 전환

다음과 같은 상황에서 cc를 누르면 그 행의 내용이 전부 지워지면서 편집모드로 전환

I have a dream!

I want to be an excellent programmer.

 

I have a dream!

                → 기존의 있던 내용이 전부 지워지고 커서가 처음으로 이동되면서 편집모드로 전환


r 명령 모드에서 한 글자만 바꿀 때 사용한다. 한 번 글자키를 눌러 변경하면 다시 명령 모드로 돌아와 입력이 되지 않는다.

 

want → 명령 모드에서 r을 누르고 c를 누르면

cant → 기존의 w자가 c자로 변함



R → 명령 모드에서 R키를 누르면 바꾸기 모드가 되면서 원래 있던 글자를 덮어 쓰면서 입력된다

 


Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 



+ Recent posts