# [VIM] 자주 사용하는 기능 & 단축키 정리

> 2014년 1월 10일 작성중.

> 2015년 7월 1일 일부 추가, 선택영역 복사/삭제 등, 참조 사이트 링크 추가.

vi 명령어 키보드 연습 : http://www.vimgenius.com/lessons/vim-intro/levels/level-1

vi 명령어 시트 : http://csnipp.com/s/69/-Vim-Cheat-Sheet




## 1. Copying & Paste

* 복사

> [y,w] : 현재 커서부터 다음 공백까지 복사 (단어 복사).

> [y,y] : 현재 라인을 복사한다.

> [V] + [directions]  + [y] : Visual 모드 + 방향/영역선택 + 복사 


* 붙여넣기

> [p] : 현재 커서에 붙여넣기.

> [P] : 현재 커서 이전에 붙여넣기. (붙여넣은 후에 공백이 한 칸 생긴다.)

> [명령모드, ctrl + r, 0] : 명령모드에서 붙여넣기를 한다.


* 이동

> [shift + j (J)] : 아래 줄, 당겨서 커서 다음에 위치 시키기.


* 삭제

> [d,d] : 한 줄 삭제.

> [d,w] : 한 단어 삭제. (현재 커서부터 다음 공백까지 삭제)

> [d,2,w] : 두 단어 삭제.

[V] + [directions]  + [d] : Visual 모드 + 방향/영역선택 + 삭제 



## 2. Search & substitution

> [/] : 앞으로 검색, ex) /test

> [?] : 뒤로 검색, ex) /test


## 3. 이동 관련

> [b] : 다음 단어로 이동

> [w] : 이전 단어로 이동

> [B] : 다음 공백 앞으로 이동

> [W] : 이전 공백 앞으로 이동


> [e] : 다음 단어 끝으로 이동

> [E] : 다음 공백 앞으로 이동

> [g,e] : 다 단어 끝으로 이동

> [g,E] : 다 공백 앞으로 이동


> [}] : 다음 scope 로 이동

> [{] : 이전 scope 로 이동


> [$] : 라인 끝으로 이동

> [^] : 라인 앞으로 이동


## 4. 입력모드

> [o] : 현재 커서 위치 기준 한 행 내리고, 아래 행에서 입력 모드 시작.

> [O] : 현재 커서 위치의 행을 내리고 현재 위치에서 입력 모드 시작.

> [i] : 현재 위치에서 입력 모드 시작.

> [I] : 현재 라인 맨 앞에서 입력 모드 시작.

> [a] : 현재 커서 한칸 뒤에서 입력 모드 시작.

> [A] : 현재 라인 한칸 뒤에서 입력 모드 시작.


## 5. 디렉토리

> [e#] : 디렉토리 네비게이션 출력

> [vi ./] : vi 실행 시, ./ 파라미터를 주면 디렉토리 네비게이션이 출력된다.

> [E] : 상단에 디렉토리 네비게이션 출력, 파일을 열면 뷰 스택에 쌓임.



## 6. 화면 분할

> [vs] : 화면을 반으로 분할한다. (세로 분할)

> [vs20] : 화면을 20 % 분할한다.

> [vs20 ./] : 화면을 20% 분할하고,디렉토리 네비게이션을 출력한다.

> [sv] : 화면을 가로 분할한다.

> [ctrl + ww] : 분할된 화면 이동.

[ctrl + w, hjkl] : 분할된 화면 방향 커서로 이동.


## 7. 쉘

> [ctrl + z] : 잠시 쉘로 나간다.

> [fg] : 쉘에서 다시 vi로 복귀. (fg명령, 타 프로세스도 동일) 



## 8. 자동완성 



## 9. 플러그인 






+ Recent posts