Vim 단축키/명령어
이동·편집·검색·치환 등 Vim 필수 단축키 정리
데이터는 서버로 전송되지 않습니다 — 모든 처리는 브라우저 안에서만 서버 전송 0건
모드 전환·저장·종료
입력 모드에서 Esc를 누르면 일반 모드로 돌아옵니다. : 으로 시작하는 명령은 일반 모드에서 입력합니다.
-
i커서 앞에서 입력 모드로 전환합니다 (a 는 커서 뒤)
-
o아래에 새 줄을 만들고 입력 모드로 전환합니다 (O 는 위)
-
:w저장합니다 (:w 파일명 으로 다른 이름 저장)
-
:q종료합니다 (변경이 있으면 거부됨)
-
:wq저장하고 종료합니다 (ZZ 와 동일)
-
:q!저장하지 않고 강제 종료합니다
-
:e 파일명다른 파일을 엽니다
커서 이동
-
h j k l좌·하·상·우로 이동합니다
-
w / b다음 단어 시작 / 이전 단어 시작으로 이동합니다 (e 는 단어 끝)
-
0 / ^ / $행 맨 앞 / 첫 글자 / 행 끝으로 이동합니다
-
gg / G문서 처음 / 끝으로 이동합니다
-
:4242행으로 이동합니다 (42G 도 동일)
-
Ctrl+f / Ctrl+b한 페이지 아래 / 위로 스크롤합니다
-
{ / }문단 단위로 이동합니다
-
%괄호의 짝으로 이동합니다
편집 — 삭제·복사·붙여넣기
-
x커서 위치의 글자를 삭제합니다
-
dd현재 행을 삭제합니다 (3dd 는 3행)
-
dw / d$단어 삭제 / 행 끝까지 삭제합니다
-
yy현재 행을 복사합니다 (3yy 는 3행)
-
p / P아래 / 위에 붙여넣습니다
-
u실행 취소합니다 (Ctrl+r 은 다시 실행)
-
r글자커서 위치의 글자 하나를 교체합니다
-
ciw커서가 놓인 단어를 지우고 입력 모드로 전환합니다 (cw, cc 도 활용)
-
>> / <<행을 들여쓰기 / 내어쓰기합니다
-
.직전 편집을 반복합니다
-
J아래 행을 현재 행에 합칩니다
검색·치환
-
/검색어아래 방향으로 검색합니다 (?검색어 는 위 방향)
-
n / N다음 / 이전 검색 결과로 이동합니다
-
*커서가 놓인 단어를 바로 검색합니다
-
:%s/old/new/g문서 전체에서 old를 new로 모두 치환합니다
-
:%s/old/new/gc하나씩 확인하며 치환합니다 (y/n 선택)
-
:10,20s/old/new/g10~20행 범위에서만 치환합니다
-
:noh검색 하이라이트를 끕니다
비주얼 모드 (선택)
-
v글자 단위 선택을 시작합니다
-
V행 단위 선택을 시작합니다
-
Ctrl+v블록(세로) 선택을 시작합니다 (여러 행 동시 편집)
-
ggVG문서 전체를 선택합니다
-
y / d선택 영역을 복사 / 삭제합니다
-
gu / gU선택 영역을 소문자 / 대문자로 바꿉니다
분할 창·탭·기타
-
:sp / :vsp가로 / 세로로 창을 분할합니다
-
Ctrl+w h j k l분할 창 사이를 이동합니다
-
:tabnew새 탭을 엽니다 (gt / gT 로 탭 이동)
-
:set nu행 번호를 표시합니다 (:set nonu 로 해제)
-
:set paste자동 들여쓰기를 끄고 붙여넣기 깨짐을 방지합니다
-
qa … q 후 @aa 레지스터에 매크로를 기록하고 재생합니다 (5@a 는 5회)
-
:!ls -alVim을 나가지 않고 셸 명령을 실행합니다
Vim 단축키, 동사+목적어로 외우세요
Vim 명령은 d(지운다)·c(바꾼다)·y(복사한다) 같은 동사와 w(단어)·$(행 끝)·iw(단어 안쪽) 같은 목적어의 조합입니다. dd, ciw, y$ 처럼 몇 가지 조합 원리를 익히면 외울 양이 크게 줄어듭니다. 이 페이지는 모드·이동·편집·검색·비주얼·창 관리 순서로 필수 단축키를 정리했습니다.
서버에서 설정 파일을 잠깐 고치는 정도라면 i(입력), Esc, :wq, /검색, u(취소) 다섯 개로 충분합니다. 더 나아가려면 . 반복과 매크로, :%s 치환을 익혀보세요. 편집 속도가 눈에 띄게 달라집니다.
자주 묻는 질문
- Vim에서 어떻게 나가나요?
- Esc를 눌러 일반 모드로 나온 뒤 :wq(저장 후 종료) 또는 :q!(저장 없이 종료)를 입력하고 Enter를 누르세요. 가장 유명한 질문답게, 이것만 기억해도 절반은 해결됩니다.
- 붙여넣기를 하면 들여쓰기가 깨져요.
- 자동 들여쓰기가 중첩 적용되기 때문입니다. 붙여넣기 전에 :set paste 를 켜고, 끝나면 :set nopaste 로 돌려놓으세요.
- 같은 작업을 여러 줄에 반복하고 싶어요.
- Ctrl+v 블록 선택으로 여러 행을 잡아 일괄 편집하거나, qa로 매크로를 기록한 뒤 숫자@a(예: 10@a)로 반복 재생하는 방법이 가장 빠릅니다.