Claude Code에 Vim이 있다고?
있다. /config에서 에디터 모드를 Vim으로 바꾸면 된다. 그 순간부터 Claude Code의 입력창이 Vim처럼 동작한다.
Normal 모드와 Insert 모드가 분리되고, h/j/k/l로 이동하고, dd로 줄을 지우고, ciw로 단어를 바꿀 수 있다. Vim 사용자라면 손에 익은 그대로다.
이 시리즈는 3편으로 구성된다.
- 1편: 필수 단축키
- 2편: Vim 모드 (이 글)
- 3편: 커스터마이징 & 세부 컨텍스트
활성화 방법
Claude Code 실행 후 /config를 입력하고, Editor mode를 Vim으로 변경한다. 별도 설치나 플러그인은 필요 없다.
참고로 Vim 모드와 일반 키 바인딩은 독립적으로 동작한다. Vim 모드를 켜도 Ctrl+C, Ctrl+R 같은 일반 단축키는 그대로 쓸 수 있다.
모드 전환
Vim의 핵심은 모드다. Claude Code에서도 동일하게 적용된다.
Insert → Normal
| 키 | 동작 |
|---|---|
Esc | Normal 모드 진입 |
Normal → Insert
| 키 | 동작 | 커서 위치 |
|---|---|---|
i | 커서 앞에서 입력 시작 | 현재 위치 |
I | 줄 시작에서 입력 시작 | 줄 맨 앞 |
a | 커서 뒤에서 입력 시작 | 한 칸 뒤 |
A | 줄 끝에서 입력 시작 | 줄 맨 뒤 |
o | 아래에 새 줄 열기 | 새 줄 |
O | 위에 새 줄 열기 | 새 줄 |
Vim을 써본 적이 있다면 완전히 같은 동작이다. 처음이라면 i로 입력하고 Esc로 나온다는 것만 기억하면 된다.
내비게이션 (Normal 모드)
기본 이동
| 키 | 동작 |
|---|---|
h | 왼쪽 |
j | 아래 |
k | 위 |
l | 오른쪽 |
화살표 키도 동작하지만, Vim을 쓰는 이유가 홈 로우에서 손을 안 떼는 거 아닌가.
단어 단위 이동
| 키 | 동작 |
|---|---|
w | 다음 단어 시작으로 |
e | 현재 단어 끝으로 |
b | 이전 단어 시작으로 |
줄 단위 이동
| 키 | 동작 |
|---|---|
0 | 줄 맨 앞 |
$ | 줄 맨 뒤 |
^ | 첫 번째 비공백 문자 |
전체 이동
| 키 | 동작 |
|---|---|
gg | 입력 맨 처음 |
G | 입력 맨 끝 |
문자 점프
| 키 | 동작 |
|---|---|
f{문자} | 다음 해당 문자로 이동 |
F{문자} | 이전 해당 문자로 이동 |
t{문자} | 다음 해당 문자 바로 앞으로 |
T{문자} | 이전 해당 문자 바로 뒤로 |
; | 마지막 f/F/t/T 반복 |
, | 마지막 f/F/t/T 반대 방향 |
예를 들어 f=을 누르면 커서가 다음 = 문자로 점프한다. ;을 누르면 그 다음 =으로 계속 이동. 긴 프롬프트에서 특정 위치를 빠르게 찾을 때 유용하다.
히스토리 탐색
| 키 | 동작 |
|---|---|
j (맨 아래에서) | 이전 명령어로 |
k (맨 위에서) | 다음 명령어로 |
커서가 더 이상 이동할 수 없는 경계에 도달하면 명령어 히스토리를 탐색한다.
편집 (Normal 모드)
삭제
| 키 | 동작 |
|---|---|
x | 커서 위 문자 삭제 |
dd | 줄 전체 삭제 |
D | 커서부터 줄 끝까지 삭제 |
dw | 다음 단어까지 삭제 |
de | 단어 끝까지 삭제 |
db | 이전 단어까지 삭제 |
변경 (삭제 후 Insert 모드 진입)
| 키 | 동작 |
|---|---|
cc | 줄 전체 변경 |
C | 커서부터 줄 끝까지 변경 |
cw | 다음 단어까지 변경 |
ce | 단어 끝까지 변경 |
cb | 이전 단어까지 변경 |
d는 삭제만 하고 Normal 모드에 남는다. c는 삭제 후 바로 Insert 모드로 전환된다. 뭔가를 지우고 바로 다시 타이핑하려면 c 계열이 한 타 줄여준다.
복사 & 붙여넣기
| 키 | 동작 |
|---|---|
yy 또는 Y | 줄 전체 복사(yank) |
yw | 다음 단어까지 복사 |
ye | 단어 끝까지 복사 |
yb | 이전 단어까지 복사 |
p | 커서 뒤에 붙여넣기 |
P | 커서 앞에 붙여넣기 |
기타 편집
| 키 | 동작 |
|---|---|
>> | 들여쓰기 |
<< | 내어쓰기 |
J | 아래 줄과 합치기 |
. | 마지막 편집 반복 |
.은 강력하다. cw로 단어를 바꾼 뒤 .을 누르면 같은 동작을 반복한다. 여러 곳에서 같은 수정을 할 때 시간을 아낄 수 있다.
텍스트 오브젝트
Vim의 진짜 힘은 텍스트 오브젝트에 있다. d, c, y 같은 오퍼레이터와 조합해서 사용한다.
단어
| 키 | 범위 |
|---|---|
iw | 단어 안쪽 (inner word) |
aw | 단어 + 주변 공백 (a word) |
iW | WORD 안쪽 (공백 기준 단어) |
aW | WORD + 주변 공백 |
괄호 / 따옴표
| 키 | 범위 |
|---|---|
i" / a" | 큰따옴표 안쪽 / 포함 |
i' / a' | 작은따옴표 안쪽 / 포함 |
i( / a( | 소괄호 안쪽 / 포함 |
i[ / a[ | 대괄호 안쪽 / 포함 |
i{ / a{ | 중괄호 안쪽 / 포함 |
실전 조합 예시
| 입력 | 동작 |
|---|---|
ciw | 커서 위 단어를 삭제하고 입력 모드 |
di" | 큰따옴표 안의 내용 삭제 |
ya( | 소괄호 포함해서 복사 |
ci{ | 중괄호 안의 내용을 바꾸기 |
예를 들어 프롬프트에 "이전 파일을 수정해줘"라고 적었는데 따옴표 안의 내용만 바꾸고 싶다면, 따옴표 안에 커서를 두고 ci"를 누르면 된다. 따옴표 안의 텍스트가 지워지면서 바로 새 내용을 입력할 수 있다.
Normal 모드에서 도움말
| 키 | 동작 |
|---|---|
? | 도움말 메뉴 표시 |
Vim 모드에서 Normal 모드일 때 ?를 누르면 현재 환경에서 사용 가능한 단축키 목록을 볼 수 있다.
한눈에 보기
[모드 전환]
Esc ............. Normal 모드
i / a ........... Insert 모드 (앞/뒤)
I / A ........... Insert 모드 (줄 시작/끝)
o / O ........... 새 줄 열기 (아래/위)
[이동]
h/j/k/l ........ 좌/하/상/우
w / e / b ...... 단어 (시작/끝/이전)
0 / $ / ^ ...... 줄 (맨앞/맨뒤/첫글자)
gg / G ......... 전체 (처음/끝)
f{c} / t{c} .... 문자 점프
[편집]
x .............. 문자 삭제
dd / D ......... 줄 삭제 / 줄끝까지
cc / C ......... 줄 변경 / 줄끝까지
yy / p / P ..... 복사 / 붙여넣기
. .............. 마지막 편집 반복
[텍스트 오브젝트]
ciw ............ 단어 변경
di" ............ 따옴표 안 삭제
ci( ............ 괄호 안 변경
ya{ ............ 중괄호 포함 복사
다음 편 예고
3편에서는 커스터마이징과 세부 컨텍스트 단축키를 다룬다. keybindings.json으로 키를 재설정하는 방법, Transcript Viewer, Diff Viewer, 스크롤 모드 등 특정 상황에서만 쓰는 단축키를 정리한다.
이 글은 2026년 4월 기준 Claude Code v2.1.x 기준으로 작성되었습니다. Vim 모드는
/config→ Editor mode에서 활성화할 수 있습니다.