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 modeVim으로 변경한다. 별도 설치나 플러그인은 필요 없다.

참고로 Vim 모드와 일반 키 바인딩은 독립적으로 동작한다. Vim 모드를 켜도 Ctrl+C, Ctrl+R 같은 일반 단축키는 그대로 쓸 수 있다.


모드 전환

Vim의 핵심은 모드다. Claude Code에서도 동일하게 적용된다.

Insert → Normal

동작
EscNormal 모드 진입

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)
iWWORD 안쪽 (공백 기준 단어)
aWWORD + 주변 공백

괄호 / 따옴표

범위
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에서 활성화할 수 있습니다.


참고 자료