Vim 은 키 리스트가 아니라 언어야
Vim 이 천 개 명령을 가진 것 같은 이유는 작은 operator 세트와 작은 motion 세트를 합쳐서 수백 개 동사를 공짜로 만들 수 있어서야. delete-to-next-word 를 외우는 게 아니라, d (삭제) 와 w (다음 단어) 를 외우면 dw 조합이 자동으로 따라와.
공식
[count] {operator} [count] {motion}Count 는 옵션. 두 count 가 곱해져 (3d2w 가 6 단어 삭제 = d6w = 6dw). Operator 는 뭐를; motion 은 얼마나. 그게 문법 전체야.
가장 자주 쓸 다섯 operator
d— delete (yank 도 함).c— change (delete + Insert mode 진입).y— yank (제거 안 하고 copy).>— 오른쪽 indent.<— 왼쪽 indent.
그리고 첫날부터 알아두면 좋은 두 번째 티어: = (auto-format), gu / gU (case fold), g~ (case 토글), gq (텍스트 reflow).
두 번 누르기 = 라인 단위로 적용
Vim 에 아름다운 단축이 있어: operator 를 두 번 누르면 현재 라인 전체에 적용돼. dd 는 라인 삭제, yy 는 yank, cc 는 change, >> 는 indent. 두 번 누른 키가 operator + 라인 의 단축이야.
합성성이 핵심.
dw, de, db, d$, d^, dG 를 외우는 건 지쳐. d 와 motion 리스트를 외우면 두 lookup 이 공짜로 합쳐져. Vim 이 무한해 보이는 건 실제로 무한해서야 — motion 인 건 다 delete 타깃이기도 해.대문자와 shifted 형태
많은 operator 가 "라인 끝까지" 의미하는 대문자 변형을 가져: D = d$, C = c$, Y 는 역사적으로 = yy (라인 단위 yank). 예외는 Y — 현대 Neovim 은 일관성을 위해 기본을 Y = y$ 로 박았는데, 클래식 Vim 은 여전히 Y = yy. 머신 사이를 오갈 거면 알아둬.