검색도 motion 이야
/pattern 이 다음 매치 찾는 건 이미 알아. 마법은 검색이 operator 와 합쳐진다는 것: d/foo<Enter> 가 커서부터 다음 "foo" 까지 모두 삭제. 검색은 동사 체인의 재료지 별도 도구가 아냐.
기본 검색 키
/pattern— regex 앞으로 검색.?pattern— 뒤로 검색.n— 다음 매치 (마지막 검색 방향과 동일).N— 이전 매치.*— 커서 위 단어 앞으로 검색.#— 커서 위 단어 뒤로 검색.:noh— 검색 하이라이트 클리어 (또는<Esc>에 매핑; 트랙 4).
Substitute 명령
Vim 의 :s 는 regex 검색-치환이고, 중요한 flag 들이 있어:
g— 라인 안 global (모든 occurrence, 첫 번째만 X).c— 각 치환 confirm (위험한 변경에 좋음).i— case-insensitive.I— case-sensitive (ignorecase무시).
Range 가 중요해
:s/a/b/ 는 현재 라인만 치환. :%s/a/b/g 는 % 가 "파일 전체". :'<,'>s/a/b/g 는 visual 선택. :5,20s/a/b/g 는 5–20 라인. Range 먼저, 명령 두 번째 — 그게 레시피.
Magic, very magic, escape soup
Vim regex 가 punctuation-heavy 한 건 기본으로 많은 메타캐릭터에 백슬래시가 필요해서야. 패턴 시작에 \v 가 "very magic" 모드를 켜서 regex 가 다른 모든 곳처럼 보여: (, +, ? 가 백슬래시 없이 작동. 습관: 사소하지 않은 모든 regex 를 \v 로 시작.
마지막 substitute 재생. Normal mode 에서
& 가 현재 라인에서 마지막 :s 반복. g& 가 파일 전체에 반복. dot 명령의 로직과 짝지어 — 검색/substitute 는 자체 반복 키를 가져.