vi 에디터 단축키 마스터하기
· 2 min read
viemu 의 단축키 리스트가 있지만, 손에 익기 전엔 사용하기가 힘들다.

a, i, 저장, 나가기 이런 기초적인 건 제외하고 vi 에디터에서 더 빠른 작업을 위한 명령어들을 다시 알아보자.
이동
| 키 | 커서 |
|---|---|
| l 또는 → | 오른쪽 한 문자 |
| h 또는 ← | 왼쪽 한 문자 |
| j 또는 ↓ | 한 줄 아래로 |
| k 또는 ↑ | 한 줄 위로 |
| 0 | 현재 줄 처음으로 |
| ^ | 현재 줄 첫 번째 공백 아닌 글자로 |
| $ | 현재 줄 마지막으로 |
| W | 다음 단어나 마침표 기호 처음으로 |
| shift + W | 다음 단어 처음으로 (마침표 무시) |
| B | 이전 단어나 마침표 기호 처음으로 |
| shift + B | 이전 단어 처음으로 (마침표 무시) |
| ctrl + F 또는 PageDown | 한 페이지 아래로 |
| ctrl + B 또는 PageUp | 한 페이지 위로 |
| number + shift + G (1G) | 해당 줄로 |
| shift + G | 파일의 마지막 줄로 |
L, H, J, K 가 문자 이동에 사용되는 이유는, 방향키까지 손가락을 움직이기엔 너무 멀기 때문이다.
편집
빈줄 추가
| 키 | 커서 |
|---|---|
| o | 현재 줄 아래에 빈 줄 추가 |
| shift + O | 현재 줄 위에 빈 줄 추가 |
삭제 및 자르기
d 명령어는 삭제한 텍스트를 버퍼에 보관한다.
| 키 | 커서 |
|---|---|
| x | 현재 문자 |
| 3x | 현재 문자를 포함한 다음 2개 문자 |
| dd | 현재 줄 |
| 4dd | 현재 줄을 포함한 다음 4줄 |
| dW | 현재 커서부터 다음 단어 앞까지 |
| d $ | 현재 커서부터 현재 줄 끝까지 |
| d0 | 현재 커서부터 현재 줄 맨 앞까지 |
| d^ | 현재 커서부터 그 줄의 공백아닌 첫 글자까지 |
| dG | 현재 줄부터 파일 끝까지 |
| d10G | 현재 줄부터 다음 10번째 줄까지 |
복사
| 키 | 커서 |
|---|---|
| yy | 현재 줄 |
| 4yy | 현재 줄을 포함한 다음 3줄 |
| yW | 현재 커서부터 다음 단어 앞까지 |
| y $ | 현재 커서부터 현재 줄 끝까지 |
| y0 | 현재 커서부터 현재 줄 맨 앞까지 |
| y^ | 현재 커서부터 그 줄 공백아닌 첫 글자까지 |
| yG | 현재 줄부터 파일 끝까지 |
| y10G | 현재 줄부터 다음 10번째 줄까지 |
붙혀넣기
p
치환
:%s/Search/Replace/gc
- %: 파일 열 전체 (1,$ 라면 1번 줄부터 파일 끝까지)
- s: search and replace
- /Search/Replace/: Search 를 Replace 문자열로 치환
- g: global
- c: confirm 실행
치환 확인 명령
| 키 | 작업 |
|---|---|
| y | 치환 실행 |
| n | 건너뛰기 |
| a | 전체 치환 |
| q | 종료 |
| l | 이번만 치환하고 종료 |
| ctrl + E | 스크롤 위로 이동 |
| ctrl + Y | 스크롤 아래로 이동 |

