매크로란 무엇인가?


앞에서 배운 레지스터 중에서 우리가 임의로 사용할 수 있는 임시 저장소로 알파벳 레지스터에 대해서 배운 바 있다.

 

이 알파벳 레지스터에는 보통 데이터가 들어가지만 일련의 키 입력을 저장할 수도 있다.

 

이 때, 일련의 키 입력레지스터에 저장하고 이것을 다시 실행할 수 있도록 만드는 것vim매크로라고 한다.



매크로 기록 및 사용


매크로를 기록하고 사용하는 과정은 다음과 같다. 


1) 매크로 기록 시작 

q와 키 입력을 저장할 알파벳 레지스터에 해당하는 알파벳을 누르면 이후에 이루어지는 키 입력이 해당 알파벳 레지스터에 기록되기 시작한다


2) 키 입력

매크로로 지정할 키를 실제로 사용하면서 입력한다.


3) 매크로 기록 완료

원하는 키 입력을 마친 후 q를 누르면 매크로 기록이 완료된다.


4) 매크로 사용

명령 모드에서 @알파벳 레지스터에 해당하는 알파벳을 같이 누르면 레지스터에 기록된 매크로를 실행한다.



매크로 기록 및 사용 사례


그럼 실제 사용해보면서 매크로를 익혀보자. 


반복적으로 사용되지만 키 입력이 귀찮은 경우에 해당하는 일련의 키 입력을 매크로로 지정하는 것이 바람직할 것이다. 


소스코드를 작업하다 보면 들여쓰기를 해야하는 경우가 많다. 그 때마다 일일이 행의 처음으로 돌아가서 편집모드로 들어간 후 [Tab] 키를 누른 후 다시 명령 모드로 돌아오는 과정이 조금 귀찮았던 것 같다. 이것을 매크로로 만들어 보자


1) 매크로 기록 시작


알파벳 레지스터 중 a매크로를 기록한다.


일단은 명령 모드에서 qa 를 눌러 매크로 기록을 시작한다


다음의 사진과 같이 하단에 '기록 중 @a라는 표시가 나타난다.




2) 키 입력


다음과 같이 기록할 키 입력을 수행한다.

우선 커서가 행의 공백이 아닌 첫 글자에 위치하도록 캐럿(^) 키를 누른다.

 

편집 모드로 진입하기 위하여 i키를 누른다.

 

이제 [Tab]키를 눌러 탭을 삽입하고 [Esc] 키를 눌러 명령 모드로 돌아온다.


3) 매크로 기록 완료


q를 눌러 매크로 기록을 마친다.



4) 매크로 사용


명령 모드에서 @a 를 눌러 a 레지스터에 기록된 매크로를 사용해본다.


이 때, 행의 앞에 탭을 3개를 한꺼번에 삽입하고 싶으면 명령 모드에서 3@a 를 누르면 된다. 그러면 @a 3번 반복하여 실행하므로 탭이 3개가 삽입되는 효과가 나타난다.



Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 


062 매크로 사용.apkg


+ Recent posts