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 파일입니다. 참고하시기 바랍니다. 



<부수한자 네글자 039: 豕(돼지 시), 身(몸 신), 辛(매울 신), 言(말씀 언)>



부수한자 214개 전체 자료실 페이지 가기


 (돼지 시)


돼지 주둥이와 몸통, 다리, 꼬리 등의 모양을 형상화하여 돼지를 의미함


부수로써 의미 : 돼지, 짐승


 (몸 신)


임신한 여자의 몸을 형상화


부수로써 의미 : 사람의 몸, 신체


 (매울 신)


얼굴에 죄목을 새기는 날카로운 도구의 모양으로 죄수노예 또는 고통의 의미로 사용되었는데, 의미가 확대되어 '맵다, 쓰다' 등의 뜻으로 사용됨


부수로써 의미 : 죄, 노예, 힘들다, 맵다


 (말씀 언)


혀를 입(口)밖으로 길게 뽑고 있는 모양에다 끝에 가로선을 더해 '말하다' 라는 의미를 나타냄


부수로써 의미 : 말하다, 이야기, 언어



 Anki 학습파일


Anki 학습파일은 아래와 같이 한자와 독음만 간단하게 암기할 수 있는 한자연습글자의 생성원리나 부수의 의미 기타 사항 등을 공부하는 심화학습의 2종류로 나누어 첨부했습니다. 


부수한자연습_039.apkg


부수한자심화학습_039.apkg



부수한자 214개 전체 자료실 페이지 가기



vim 실행하기


vim실행하고자 할 때는 프롬프트에서 vim 이라고 입력하면 된다. 특정 파일을 열면서 실행하고 싶다면 vim [열고 싶은 파일 이름] 형식으로 입력하면 된다


$ vim vim 실행

$ vim test.txt  vim이 test.txt 파일을 열면서 실행



vim 종료하기


vim종료하고 싶다면 명령 모드에서 :q 또는 :quit 라고 입력하면 된다. 그러면 명령 라인에 :q 또는 :quit 명령어가 보이게 되고 [Enter] 키를 눌러 입력하면 종료된다. (:q 로 기억하자)


:q


vim을 종료할 때 아무런 변경 사항이 없다면 아무런 문제 없이 종료되겠지만, 변경 사항이 있다면 저장이 되지 않았다는 내용의 에러 메시지가 나오면서 종료가 되지 않는다. 이 경우 저장하지 않고 종료하려면 느낌표(!)q 뒤에 붙여주면 된다. 


:q!


느낌표(!)vim에서 명령을 강제로 실행하라는 의미이다.



vim 파일 저장하기


강제 종료는 부득이한 상황에 하는 것이고 대부분의 경우 제대로 저장을 하고 종료해야 한다. 윈도우즈에서의 저장은 Save지만 vim 계열은 디스크에 쓴다라는 의미에서 Write 라고 한다. 따라서 명령어는 :write 혹은 :w 이다. (:w 로 기억하자)


:w  → 원래 파일 이름으로 저장

:w test.txt  → test.txt라는 이름으로 저장

:w > file.txt → file.txt 파일에 덧붙여 저장


저장하고 종료가 같이 이루어지는 경우가 많다. 그래서 저장 명령인 w 와 종료 명령인 q를 합쳐서 :wq 로 명령하는 경우가 많다. 혹은 명령 모드에서 ZZ 키를 눌러 바로 저장하고 종료할 수 있다. 


:wq → 원래 파일 이름으로 저장하고 종료

:wq test.txt  → test.txt라는 이름으로 저장하고 종료

ZZ → 원래 파일 이름으로 저장하고 종료(명령라인 모드 명령이 아님, 명령 모드에서 대문자 ZZ)



vim 파일 불러오기


마지막으로 vim에서 원하는 파일을 열고 싶을 때:e [파일명] 형식으로 원하는 파일을 불러온다.


:e file.txt file.txt 파일을 불러옴

 


Anki 파일


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


004 vim의 실행과 종료 및 파일 불러오기와 저장.apkg


+ Recent posts