Vim의 편집 동사들
글자 세 개가 편집의 대부분을 해내. d는 delete, y는 yank (복사), c는 change야. 얘네가 트랙 2의 motion, text object와 붙으면서 작은 언어가 돼. 오늘은 혼자 쓰는 형태만 외우자.
삭제
Vim에선 삭제랑 잘라내기가 같은 동작이야. 지운 텍스트가 unnamed register에 들어가서 바로 붙여넣을 수 있거든. "cut" 키가 따로 없는 건 있어봤자 겹치기 때문이야.
Yank와 paste
y는 복사만 하고 원본은 안 건드려. p는 커서 뒤에, P는 커서 앞에 붙여넣어. yy처럼 줄 단위로 복사한 건 새 줄로 들어가고, 글자 단위로 복사한 건 줄 중간에 끼어들어. 어떻게 복사했는지를 보고 Vim이 알아서 판단해.
Change와 delete의 차이
c는 지우면서 Insert mode로 떨어뜨려. 바로 새 텍스트를 칠 수 있는 상태가 되는 거야. cw는 단어를, cc는 줄 전체를, C는 커서부터 줄 끝까지 바꿔. "이거 지우고 새로 쳐야지" 싶은 순간엔 delete 말고 change를 잡아.
Undo와 redo
u는 변경 하나를 되돌리고 Ctrl-r은 그 되돌리기를 다시 취소해. Vim의 undo 트리는 buffer마다 따로 있고 저장한 뒤에도 남아 있어. 트랙 4의 set undofile까지 켜면 Vim을 껐다 켜도 살아남고. U는 지금 줄에 가한 모든 변경을 한 번에 되돌려 — "이 줄은 안 건드린 걸로 하자" 싶을 때 좋아.
d + w는 dw (단어 삭제). y + $는 y$ (줄 끝까지 복사). c + i"는 ci" (따옴표 안쪽 바꾸기). 트랙 2는 이 원칙 하나를 끝까지 밀어붙이면 무슨 일이 벌어지는지 보여주는 트랙이야.매 분마다 쓰는 작은 동사들
x는 커서 위 글자를 지워 (dl의 한 글자짜리 버전이야). r은 글자 하나만 갈아끼워 — r 누르고 새 글자를 치면 돼. ~는 대소문자를 뒤집고, J는 지금 줄에 다음 줄을 붙이면서 사이에 공백 하나를 알아서 끼워줘.