
오늘은 지난주에 이어서 Vim Text Editor의 명령어와 단축키를 어떻게 활용하는지 알아보는 시간을 갖도록 하겠다.
Vim Editor에서 사용할 수 있는 명령어들에 대해 정리해보았다.
| 명령어 | 설명 | 예제 |
|---|---|---|
| vi {파일명} | 파일을 편집을 위해 열기 | vi test.txt |
| vi +{행번호} {파일명} | n번째 줄부터 열기 | vi +3 test.txt |
| vi +/"{검색 문자열}" {파일명} | 문자열이 있는 곳부터 열기 | vi +/test test.txt |
| view {파일명} | 읽기 전용으로 열기 | view test.txt |
| 명령 | 설명 | 예제 |
|---|---|---|
| 명령(일반)모드 | Esc키를 눌러 진입 | Esc |
| 입력(편집)모드 | 명령모드에서 i, I, a, A, o, O, cw, cc, c$, c0, c+숫자키 등 사용 | i 또는 a |
| 시각적 선택(비쥬얼) 모드 | 명령모드에서 v, V, Ctrl+v를 사용 | v 또는 V |
| 마크 지정 모드 | 명령모드에서 m + 마크 키 사용 | m a |
| 일시적 명령(Ex) 모드 | 명령모드에서 :키를 사용 | : |
| 명령어 | 설명 |
|---|---|
| :wq (저장 및 종료) | 파일을 저장하고 종료 |
| :w (저장) | 파일을 저장 |
| :q (종료) | 편집기 종료 |
| :q! (저장하지 않고 종료) | 파일을 저장하지 않고 종료 |
| 키 | 설명 |
|---|---|
| h | 왼쪽으로 한 칸 이동 |
| j | 아래로 한 줄 이동 |
| k | 위로 한 줄 이동 |
| l | 오른쪽으로 한 칸 이동 |
| w | 다음 단어의 처음으로 이동 |
| e | 다음 단어의 끝으로 이동 |
| b | 이전 단어의 처음으로 이동 |
| 0 | 줄의 처음으로 이동 |
| ^ | 줄의 처음으로 이동 (공백 무시) |
| $ | 줄의 끝으로 이동 |
| G | 파일의 마지막 줄로 이동 |
| gg | 파일의 첫 번째 줄로 이동 |
| zz | 커서가 가운데 오도록 스크롤 |
| H | 화면의 맨 위로 이동 |
| M | 화면의 중간으로 이동 |
| L | 화면의 맨 아래로 이동 |
| Ctrl + u | 화면을 반 페이지 위로 스크롤 |
| Ctrl + d | 화면을 반 페이지 아래로 스크롤 |
| Ctrl + b | 화면을 한 페이지 위로 스크롤 |
| Ctrl + f | 화면을 한 페이지 아래로 스크롤 |
| 명령어 | 설명 |
|---|---|
| i | 현재 커서 위치에서 입력 시작 |
| I | 커서가 있는 줄의 맨 처음에서 입력 시작 |
| a | 현재 커서 다음 위치에서 입력 시작 |
| A | 커서가 있는 줄의 맨 끝에서 입력 시작 |
| o | 현재 커서 아래에 새로운 줄을 추가하고 입력 시작 |
| O | 현재 커서 위에 새로운 줄을 추가하고 입력 시작 |
| r | 커서 위치의 한 글자를 교체 |
| R | 커서 위치에서 입력 모드로 변경하며, 기존 문자들을 덮어 씌우기 |
| s | 커서 위치의 한 글자를 삭제하고 입력 모드로 변경 |
| S | 커서가 있는 줄 전체를 삭제하고 입력 모드로 변경 |
| x | 현재 커서 위치의 문자를 삭제 |
| X | 현재 커서 왼쪽의 문자를 삭제 |
| p | 현재 커서 위치 다음에 저장한 내용을 붙여넣기 |
| P | 현재 커서 위치 전에 저장한 내용을 붙여넣기 |
| 명령어 | 설명 |
|---|---|
| / (문자열 찾기) | 현재 파일에서 문자열 검색 (n: 아래방향, N: 위방향) |
| ? (문자열 찾기) | 현재 파일에서 문자열 검색 (역방향 검색) |
| n | 다음 검색 결과로 이동 |
| N | 이전 검색 결과로 이동 |
| 명령어 | 설명 |
|---|---|
| :s/찾을문자열/바꿀문자열 | 현재 줄에서 처음 일치하는 문자열을 치환 |
| :s/찾을문자열/바꿀문자열/g | 현재 줄에서 일치하는 모든 문자열을 치환 |
| :%s/찾을문자열/바꿀문자열/g | 파일 전체에서 일치하는 모든 문자열을 치환 |
| :%s/찾을문자열/바꿀문자열/gc | 파일 전체에서 일치하는 모든 문자열을 치환하며, 치환 여부를 묻기 |
| 명령어 | 설명 |
|---|---|
| :w (저장) | 파일 저장 |
| :w filename (다른 이름으로 저장) | 다른 이름으로 저장 |
| :wa (모든 파일 저장) | 열려 있는 모든 파일 저장 |
| :x (저장 후 종료) | 저장 후 종료 |
| :q (종료) | 종료 |
| :q! (저장하지 않고 종료) | 저장하지 않고 종료 |
| :wq (저장 후 종료) | 저장 후 종료 |
| ZZ | 저장 후 종료 |
| 명령어 | 설명 |
|---|---|
| >> | 현재 줄을 오른쪽으로 들여쓰기 |
| << | 현재 줄을 왼쪽으로 내어쓰기 |
| = | 현재 줄의 들여쓰기를 자동으로 조정 |
| gg=G | 파일 전체의 들여쓰기를 자동으로 조정 |
| 명령어 | 설명 |
|---|---|
| u | 마지막 명령 취소 (undo) |
| Ctrl + r | 마지막 취소 명령 복구 (redo) |
| . | 마지막 명령 반복 |
| :e! | 마지막 저장 시점으로 파일 복구 |
| :e filename | 다른 파일 열기 |
| :r filename | 현재 파일에 다른 파일 내용 삽입 |
| :w !sudo tee % | 관리자 권한으로 파일 저장 |
| 명령어 | 설명 |
|---|---|
| :set number | 현재 편집 중인 파일에 행 번호 표시 |
| :set nonumber | 현재 편집 중인 파일의 행 번호 표시 해제 |
| 명령어 | 설명 |
|---|---|
| :n | n번째 줄로 이동 |
| :1 | 첫 번째 줄로 이동 |
| :$ | 마지막 줄로 이동 |
| Ctrl + g | 현재 줄과 파일의 정보를 표시 |
| :nG | n번째 줄로 이동 |
| :1G | 첫 번째 줄로 이동 |
| :$G | 마지막 줄로 이동 |


