VIM :

2014-01-29 5 views
0

은 그래서 내 현재 매크로가 가정 해 봅시다 특정 위치에 매크로 점프를 갖는VIM :

map! \aa aabbccdd 

내가 있도록 원하는 명령이 실행은 텍스트가 인쇄되고 커서가있을 것마다 특정 문자 (b의 첫 번째 발생을 가정 해 봅시다). 커서가 사용될 때마다 b 매크로의 첫 번째 발생으로 커서가 이동하도록하려면 무엇이 필요합니까?

+1

당신이 무엇을 요구하고 있는지 분명하지 않습니다. 전후에 실제 예제를 제공하면 더 좋을 것입니다. 그것이 그대로, 당신의 매핑은'abbccdd'를 버퍼에 추가 할 것입니다 (첫 번째'a'는 append로 간주하고 당신을 삽입 모드로 만듭니다). 이게 너가하려는거야? – Conner

답변

1

정확하게 질문을 이해하면 매크로에 aabbccdd을 삽입하고 커서를 첫 번째 b으로 옮기시기 바랍니다. 첫 번째 b을 찾는 물론

map \aa mziaabbccdd<Esc>`zfb 

는, 정말 그렇게 유용하지 않습니다, 당신의 진짜 문제에 잘 번역되지 않을 수 있습니다이 그것을 할 한 가지 방법입니다.

1

매크로은 단지 명령을 기록하고 입력 한 텍스트 일뿐입니다. 따라서 커서를 위치시키기 위해 "일반적으로"사용하는 동작도 거기에 캡처됩니다.

예를 들어, 입력 한 텍스트의 시작 부분에 `[으로 점프 한 다음 fb으로 첫 번째 b으로 이동할 수 있습니다. 매크로 기록이 끝날 때까지이 두 동작을 추가하면 작업이 완료됩니다!