Devin.KR

도구 / vim 연습기 / 치트시트

vim 치트시트

명령 92개. 이 표의 명령은 모두 연습기에서 실제로 동작합니다.

모드 — 여기서 시작한다

vim 은 '지금 어떤 모드인가'로 같은 키의 뜻이 바뀐다. 헷갈리면 <Esc> 를 눌러 노멀로 돌아온다.

하는 일연습 예시
i 커서 앞에서 입력 시작 연습기에서 눌러 보기
a 커서 뒤에서 입력 시작 (append) 연습기에서 눌러 보기
I 공백 아닌 첫 글자 앞에서 입력 연습기에서 눌러 보기
A 줄 끝에서 입력 연습기에서 눌러 보기
o 아래에 새 줄을 만들고 입력 (들여쓰기 이어받음) 연습기에서 눌러 보기
O 위에 새 줄을 만들고 입력 연습기에서 눌러 보기
R 덮어쓰기 모드 (한 글자씩 갈아 끼운다) 연습기에서 눌러 보기
<Esc> 노멀 모드로 돌아온다. 막히면 이 키 연습기에서 눌러 보기

이동 — 방향키를 쓰지 않는다

손을 자판에서 떼지 않는 것이 vim 의 속도다. 이 연습기는 방향키를 일부러 받지 않는다.

하는 일연습 예시
h j k l 왼·아래·위·오른쪽 한 칸 연습기에서 눌러 보기
w 다음 낱말 시작으로 연습기에서 눌러 보기
b 이전 낱말 시작으로 연습기에서 눌러 보기
e 낱말 끝 글자로 연습기에서 눌러 보기
W B E 공백만 경계로 보는 큰 낱말 (foo.bar 가 한 덩어리) 연습기에서 눌러 보기
0 줄 맨 처음(1열)으로 연습기에서 눌러 보기
^ 공백 아닌 첫 글자로 연습기에서 눌러 보기
$ 줄 끝으로 연습기에서 눌러 보기
gg 문서 첫 줄로 연습기에서 눌러 보기
G 문서 마지막 줄로 연습기에서 눌러 보기
3G 3번째 줄로 (숫자를 붙인다) 연습기에서 눌러 보기
f{글자} 줄 안에서 그 글자로 (찾아서 그 위에 선다) 연습기에서 눌러 보기
F{글자} 뒤쪽으로 그 글자 찾기 연습기에서 눌러 보기
t{글자} 그 글자 한 칸 앞에 선다 (till) 연습기에서 눌러 보기
T{글자} 뒤쪽으로 그 글자 한 칸 뒤에 선다 연습기에서 눌러 보기
; , 마지막 f/t 를 다시·거꾸로 연습기에서 눌러 보기
{ } 빈 줄(문단 경계) 단위로 위·아래 연습기에서 눌러 보기
H M L 화면 처음·가운데·끝 줄로 연습기에서 눌러 보기
% 짝이 되는 괄호로 뛴다 연습기에서 눌러 보기

지우기·바꾸기 — 연산자 + 이동

vim 의 핵심 문법은 [연산자][이동] 이다. d(지우기) c(바꾸기) y(복사) 에 이동을 붙여 쓴다.

하는 일연습 예시
x 커서 글자 하나 지우기 연습기에서 눌러 보기
3x 세 글자 지우기 연습기에서 눌러 보기
X 커서 앞 글자 지우기 (백스페이스 느낌) 연습기에서 눌러 보기
dw 낱말 하나 지우기 (뒤 공백까지) 연습기에서 눌러 보기
d2w 낱말 두 개 지우기 연습기에서 눌러 보기
de 낱말 끝까지 지우기 (뒤 공백은 남는다) 연습기에서 눌러 보기
d$ (D) 커서부터 줄 끝까지 지우기 연습기에서 눌러 보기
d0 커서부터 줄 처음까지 지우기 연습기에서 눌러 보기
dd 줄 통째로 지우기 연습기에서 눌러 보기
2dd 두 줄 지우기 연습기에서 눌러 보기
dG 이 줄부터 문서 끝까지 지우기 연습기에서 눌러 보기
df{글자} 그 글자까지 지우기 (포함) 연습기에서 눌러 보기
cw 낱말 바꾸기 — dw 와 달리 뒤 공백을 남긴다 연습기에서 눌러 보기
cc (S) 줄 내용 전체를 바꾸기 연습기에서 눌러 보기
C 커서부터 줄 끝까지 바꾸기 연습기에서 눌러 보기
s 글자 하나를 지우고 입력 연습기에서 눌러 보기
r{글자} 글자 하나만 교체 (모드가 바뀌지 않는다) 연습기에서 눌러 보기
3r{글자} 세 글자를 같은 글자로 교체 연습기에서 눌러 보기
~ 대소문자 뒤집기 연습기에서 눌러 보기
J 다음 줄을 이 줄에 이어 붙이기 연습기에서 눌러 보기
>> << 줄 들여쓰기 넣기·빼기 연습기에서 눌러 보기
2>> 두 줄 들여쓰기 연습기에서 눌러 보기

복사·붙여넣기

vim 의 지우기는 곧 잘라내기다. dd 로 지운 줄은 p 로 다시 붙일 수 있다.

하는 일연습 예시
yy (Y) 줄 복사 연습기에서 눌러 보기
yw 낱말 복사 연습기에서 눌러 보기
p 커서 뒤(줄 단위면 아래)에 붙이기 연습기에서 눌러 보기
P 커서 앞(줄 단위면 위)에 붙이기 연습기에서 눌러 보기
ddp 줄 순서 바꾸기 (아래 줄과 교환) 연습기에서 눌러 보기
xp 글자 순서 바꾸기 연습기에서 눌러 보기

텍스트 오브젝트 — 실무에서 제일 많이 쓴다

i(inner)는 안쪽만, a(around)는 감싼 것까지. 커서가 그 안에 있기만 하면 되므로 위치를 정확히 맞출 필요가 없다.

하는 일연습 예시
ciw 커서가 놓인 낱말을 바꾸기 (위치 안 맞춰도 된다) 연습기에서 눌러 보기
diw 낱말만 지우기 (공백은 남는다) 연습기에서 눌러 보기
daw 낱말과 붙은 공백까지 지우기 연습기에서 눌러 보기
ci" 따옴표 안쪽만 바꾸기 연습기에서 눌러 보기
da" 따옴표까지 지우기 연습기에서 눌러 보기
di( 괄호 안쪽 지우기 연습기에서 눌러 보기
da( 괄호까지 지우기 연습기에서 눌러 보기
ci{ 중괄호 안쪽 바꾸기 연습기에서 눌러 보기
di[ 대괄호 안쪽 지우기 연습기에서 눌러 보기
ci< 꺾쇠 안쪽 바꾸기 (HTML 태그 이름) 연습기에서 눌러 보기
vi" 따옴표 안쪽을 비주얼로 고르기 연습기에서 눌러 보기

검색·치환

이 연습기의 검색은 정규식이 아니라 글자 그대로 찾는다. 실제 vim 은 정규식을 받는다.

하는 일연습 예시
/패턴 <CR> 아래쪽으로 찾기 연습기에서 눌러 보기
?패턴 <CR> 위쪽으로 찾기 연습기에서 눌러 보기
n N 다음·이전 검색 결과로 연습기에서 눌러 보기
* 커서 아래 낱말을 그대로 찾기 연습기에서 눌러 보기
:s/a/b/ 이 줄의 첫 a 를 b 로 연습기에서 눌러 보기
:s/a/b/g 이 줄의 모든 a 를 b 로 연습기에서 눌러 보기
:%s/a/b/g 문서 전체를 치환 연습기에서 눌러 보기
:noh 검색 강조 끄기 연습기에서 눌러 보기

비주얼 — 눈으로 고르고 한 번에

무엇을 고를지 확실하지 않을 때 쓴다. 고른 뒤 d y c > < 를 누른다.

하는 일연습 예시
v 글자 단위로 고르기 연습기에서 눌러 보기
V 줄 단위로 고르기 연습기에서 눌러 보기
<C-v> 사각형(블록)으로 고르기 — 여러 줄의 같은 열 연습기에서 눌러 보기
V > 고른 줄 들여쓰기 연습기에서 눌러 보기
v y 고른 구간 복사 연습기에서 눌러 보기

되돌리기·되풀이

. 은 vim 을 vim 답게 만드는 키다. 같은 편집을 다른 자리에서 되풀이한다.

하는 일연습 예시
u 되돌리기 연습기에서 눌러 보기
<C-r> 되돌린 것을 다시 실행 연습기에서 눌러 보기
. 마지막 변경을 그 자리에서 되풀이 연습기에서 눌러 보기
A;<Esc> j . 여러 줄 끝에 같은 것 붙이기 (.의 진짜 쓸모) 연습기에서 눌러 보기

파일·명령줄

: 를 누르면 화면 맨 아래에 명령줄이 열린다. 연습기에서는 실제 파일을 저장하지 않는다.

하는 일연습 예시
:w 저장 (연습기에서는 '수정 중' 표시만 지운다) 연습기에서 눌러 보기
:q 닫기. 저장하지 않았으면 거절한다(E37) 연습기에서 눌러 보기
:wq (:x) 저장하고 닫기 연습기에서 눌러 보기
:q! 바꾼 것을 버리고 닫기 연습기에서 눌러 보기
:12 12번째 줄로 이동 연습기에서 눌러 보기
:d 이 줄 지우기 연습기에서 눌러 보기
:set nu / nonu 줄번호 켜기·끄기 연습기에서 눌러 보기
:set rnu 상대 줄번호 (이동 거리를 바로 읽는다) 연습기에서 눌러 보기
:help (<F1>) 도움말 열기. :help motion 처럼 주제를 줄 수 있다 연습기에서 눌러 보기

이 목록에 없는 것

연습기가 지원하지 않는 명령은 이 표에도 적지 않았습니다. 적어 두고 동작하지 않으면 "실제 vim 에서는 되는데 여기선 안 되는 것"을 배우게 되기 때문입니다.

실제 vim 에는 있지만 이 연습기에 없는 것: 매크로 q, 이름 있는 레지스터 "a, 마크 m, 폴드 z, 창 분할 Ctrl-w, 탭 페이지, 정규식 검색, 파일 조작 :e. 터미널에서 vimtutor:help 로 익히는 것을 권합니다.

가이드