#TIL #vim 범위에 매크로 실행을 하고 싶다면
SomeModule.some_func(1, 2, 3)
SomeModule.some_func(1, 3, 4, 5)
SomeModule.some_func(1, 4, 5, 6, 7)
SomeModule.some_func(1, 5, 6, 7, 8, 9)
SomeModule.some_func(1, 6, 7, 8, 10, 11)
두 번째 인자를 싹 없애고 싶다. normal
모드에서 qq WdW
키를 입력한다.
SomeModule.some_func(1, 3)
SomeModule.some_func(1, 3, 4, 5)
SomeModule.some_func(1, 4, 5, 6, 7)
SomeModule.some_func(1, 5, 6, 7, 8, 9)
SomeModule.some_func(1, 6, 7, 8, 10, 11)
첫 번째 라인에는 없어졌다. 나머지 라인에도 적용하고 싶다. 라인을 바꿔가며 @q
키를 입력해서 위에서 입력한 q
매크로를 실행하면 된다.
:2,5normal @q
normal
명령어를 범위에 대고 실행해보자.
SomeModule.some_func(1, 3)
SomeModule.some_func(1, 4, 5)
SomeModule.some_func(1, 5, 6, 7)
SomeModule.some_func(1, 6, 7, 8, 9)
SomeModule.some_func(1, 7, 8, 10, 11)
짠! normal
명령어를 사용하면 범위에 대고 normal
명령을 적용할 수 있다. 매크로 실행뿐만 아니라 normal
명령어면 모두 가능하다. 위 예제에서 매크로를 만들지 않고 :%normal WdW
을 입력해도 똑같은 결과가 나온다. 복잡한 건 매크로를 만들어서 실행하고 간단한 건 바로 normal 명령어를 사용하면 된다.