본문 바로가기
C.W.K.
Stream
Lesson 06 of 06 · published

Count Prefix — 명령 곱하기

~8 min · vim, counts, productivity

Level 0갇힌 자
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

거의 모든 명령이 count를 받아

5j3w는 이미 봤지. 이 원리가 그대로 확장돼. 앞에 숫자를 붙이면 Vim한테 "이 명령 N번 실행해"라고 말하는 거야. count는 operator-motion 문법과도 맞물려서, operator 앞이든 뒤든 양쪽이든 다 앉을 수 있어.

motion에 붙이는 count

5j면 다섯 줄 아래, 3w면 세 단어 앞, 10l이면 열 글자 오른쪽이야. 4)는 네 문장 앞, 2}는 두 단락 앞이고. motion이 가는 곳이라면 어디든 count가 곱해져.

편집에 붙이는 count

3dd면 세 줄 삭제, 5x면 다섯 글자 삭제야. 2yy는 두 줄 복사, 4>>는 네 줄 들여쓰기, 10p는 마지막 복사본을 연달아 열 번 붙여넣기고.

Insert에 붙이는 count — 여기서 다들 놀라

이건 처음 보면 다들 재밌어해. Insert mode 입구 명령 앞에 count를 붙이면 Vim이 친 내용을 그만큼 반복해줘. 10i-<Esc>면 대시가 열 개 들어가. 5oTODO<Esc>면 새 줄 다섯 개가 열리면서 각각에 TODO가 박히고. 3aword<Esc>는 "word"를 세 번 붙여.

count가 둘인 문법

3d2w는 6단어 삭제, 2c3l은 6글자 바꾸기야. 두 count가 곱해지거든. 실전에선 보통 자연스럽게 느껴지는 쪽에 하나만 붙여.

count랑 상대 줄 번호를 붙여 써. 트랙 4의 relativenumber를 켜두면 gutter가 커서로부터의 거리를 표시해줘. 저 줄까지 지우고 싶어? gutter에 적힌 숫자를 읽어. 7이면 7dd야. Vim이 타깃마다 거리가 적혀 있는 게임 화면이 되는 거지.

Code

Motion의 count·vim
5j        " 5 라인 아래
3w        " 3 단어 앞
10l       " 10 캐릭터 오른쪽
4)        " 4 문장 앞
2}        " 2 단락 앞
5gg       " 5 라인으로 점프
Operator의 count·vim
3dd       " 3 라인 삭제
2yy       " 2 라인 yank
5x        " 5 캐릭터 삭제
4>>       " 4 라인 indent
10p       " 10 번 paste
d3w       " 3 단어 삭제 (operator 후 count)
2d3w      " 6 단어 삭제 (count 곱셈)
Insert entry의 count — 트릭·vim
10i-<Esc>           " ---------- insert
5o<Esc>             " 아래 빈 라인 5 개 열기
3aword<Esc>         " 'word' 세 번 append
20iA<Esc>           " 대문자 A 20 개 insert

External links

Exercise

스크래치 파일에서 하나씩 연습하되 누르기 전에 결과를 먼저 말해봐. (1) 20i-<Esc>, (2) 5o<Esc>, (3) 3yyp (세 줄 복사해서 붙여넣기), (4) 숫자 5 위에서 10<Ctrl-a>, (5) 2d3w. 목표는 count 붙이는 게 operator+motion만큼 자연스러워지는 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.