녹화는 사용자의 작업을 기억해 두었다가 다시 작동시키는 일종의 매크로다.
정확하게 표현하자면 사용자가 입력했던 key들을 레지스터에 저장하는 것이다.
녹화와 재생 명령어는 다음과 같다.
명령어 | 설명 |
---|---|
q{매크로 이름} | 녹화 시작, {매크로 이름}은 [a-zA-Z]중 하나를 선택해야 한다. |
@{매크로 이름} | 매크로를 실행, {매크로 이름}은 [a-z]중 하나를 선택해야 한다. |
@@ | 이전에 실행된 매크로를 재실행한다. |
q | 녹화 종료 |
매크로 이름을 대문자로 하면, 소문자에 match되는 레지스터를 수정한다.
qA
로 녹화를 시작하면 a
레지스터에 녹화된 내용 뒤에 새로 녹화하는 내용이 추가된다.명령어는 다음과 같다.
명령어 | 설명 |
---|---|
:%normal! @a | 문서 전체 범위의 각 행에서 일반모드의 명령어(@a)를 실행한다. |
%
는 문서 전체를 의미하며, 1,$
로 해도 동일하다.normal
은 뒤에 나오는 문자열을 normal mode의 명령어로 인식하라는 뜻이다.norm
으로 축약 가능하다.!
는 예외 상황을 무시하고 작업을 끝까지 진행하는 명령어다.a
매크로를 수정하는 상황이라고 가정한다."ap
명령으로 현재 a
레지스터의 내용을 붙여 넣는다."ay$
라고 명령해서 이 내용을 a
레지스터 에 저장한다.dd
로 해당 행은 지워버린다.이것으로 vim 시리즈는 마무리 됐다.