vim 커서 이동 총정리 — 방향키를 놓는 순서
hjkl 부터 w b e f t % gg G 까지, vim 이동 명령을 쓰는 순서대로 정리했습니다. 이동은 그 자체로도 쓰고 연산자 뒤에 붙여 범위로도 씁니다.
이동은 두 가지 일을 한다
vim 의 이동 명령은 커서를 옮기는 데도 쓰이고, 연산자의 범위를 정하는 데도 쓰입니다. w 가 '다음 낱말로'라면 dw 는 '다음 낱말 앞까지 지우기'입니다. 이동을 하나 익히면 그것과 조합되는 편집 명령이 통째로 따라옵니다.
그래서 배우는 순서는 '편집 명령 목록'이 아니라 '이동 목록'이어야 합니다.
1단계 — 줄 안에서
f 와 t 의 차이가 처음엔 헷갈립니다. f) 는 닫는 괄호 '위'에 서고, t) 는 그 '한 칸 앞'에 섭니다. 그래서 괄호까지 지울 때는 df), 괄호를 남길 때는 dt) 입니다.
| 키 | 이동 | 자주 쓰는 조합 |
|---|---|---|
| 0 | 줄 맨 처음(1열) | d0 |
| ^ | 공백 아닌 첫 글자 | c^ |
| $ | 줄 끝 | d$ = D |
| w / b | 다음 낱말 / 이전 낱말 | dw, cw, 2dw |
| e | 낱말 끝 글자 | de, ce |
| f{c} / t{c} | 글자 c 로 / c 앞까지 | df), ct" |
| ; / , | 마지막 f·t 를 다시 / 거꾸로 | 2; |
2단계 — 파일 안에서
- gg 문서 첫 줄 / G 마지막 줄 / 12G 12번째 줄 (:12 도 같다)
- { } 빈 줄(문단 경계) 단위로 위·아래 — 코드에서는 함수 사이를 건너뛴다
- H M L 화면의 처음·가운데·끝 줄
- Ctrl-d / Ctrl-u 반 화면 아래·위 (이 연습기는 지원하지 않는다)
- % 짝이 되는 괄호로 — 긴 블록의 끝을 찾을 때
3단계 — 검색으로 이동
가장 빠른 이동은 대개 검색입니다. /함수이름 으로 뛰고 n 으로 다음 결과를 봅니다. 커서 아래 낱말과 같은 것을 찾을 때는 * 한 번이면 됩니다.
연산자와도 붙습니다. d/END 는 END 가 나오는 자리까지 지웁니다. 이 조합은 강력하지만 결과 범위가 눈에 잘 보이지 않아, 익숙해질 때까지는 비주얼 모드로 확인하며 쓰는 편이 안전합니다(이 연습기는 연산자+검색 조합을 지원하지 않습니다).
숫자를 붙인다
거의 모든 이동 앞에 숫자를 붙일 수 있습니다. 3j 는 세 줄 아래, 5w 는 다섯 낱말 뒤, 2f, 는 두 번째 쉼표입니다. 상대 줄번호(:set relativenumber)를 켜면 '몇 줄 아래인가'가 화면에 그대로 보여 3j 같은 이동이 쉬워집니다.
자주 묻는 질문
방향키를 쓰면 안 되나요?
실제 vim 에서는 동작합니다. 다만 손이 홈 포지션을 벗어나는 비용이 반복해서 쌓이므로, 익히는 동안에는 일부러 막는 편이 빠릅니다. 이 연습기가 방향키를 받지 않는 이유입니다.
w 와 W 는 무엇이 다릅니까?
w 는 낱말 문자와 기호를 다른 덩어리로 봅니다. foo.bar 에서 w 는 세 번 걸립니다. W 는 공백만 경계로 보므로 foo.bar 를 한 번에 지납니다.
다른 가이드
-
vim 종료·저장 방법 — :wq 부터 강제 종료까지
vim 에서 나가는 방법을 상황별로 정리했습니다. 저장하고 나가기, 저장 없이 나가기, 읽기 전용 파일 강제 저장, E37 오류 대처까지 실제 동작 기준으로 설명합니다.
-
vim 모드 완전 이해 — 노멀·입력·비주얼·명령줄
vim 이 모드를 쓰는 이유와 네 가지 모드의 차이, 모드 사이를 오가는 키를 정리했습니다. 모드를 이해하면 vim 의 나머지는 전부 이 위에 얹힙니다.
-
vim 연산자 — d c y 와 [연산자][이동] 문법
vim 편집의 문법은 [개수][연산자][개수][이동] 하나입니다. dw cw yy D C 를 외우는 대신 조합 규칙을 이해하는 방법을 설명합니다.
-
vim 텍스트 오브젝트 — ciw · ci" · di( 가 바꾸는 것
커서를 정확한 자리에 두지 않아도 편집할 수 있게 해 주는 텍스트 오브젝트를 정리했습니다. 실무에서 가장 많이 쓰는 vim 기능입니다.
-
vim 검색과 치환 — / ? n N 과 :%s 완전 정리
vim 검색 이동과 :s 치환 문법을 플래그와 범위까지 정리했습니다. 확인하며 치환하는 c 플래그, 대소문자 무시 옵션도 다룹니다.
-
처음 쓰는 .vimrc — 꼭 넣을 설정 12줄
vim 을 설치하고 처음 만드는 .vimrc 에 넣을 설정을 이유와 함께 정리했습니다. 줄번호, 검색 옵션, 들여쓰기, 클립보드까지.