2013-05-01 2 views
0

지금은 숭고한 텍스트를 시험 중입니다. 그것의 대부분은 괜찮지 만, 숭고한 텍스트로 구현하는 방법을 알 수없는 큰 특징이 있습니다. vim에서는 마지막으로 수행 한 매크로를 반복 할 공간이 있어야합니다. 그러나, 나는 그것을 숭고한 텍스트로 구현하는 좋은 방법을 찾을 수 없다. 자세한 내용을 보려면하기위한 노력의 일환으로 숭고한 텍스트 빈티지 모드에서 "마지막 매크로 반복"키 바인딩 만들기

, 나는 빈티지 패키지의 매크로 키 바인딩을 바라 보았다 :

{ "keys": ["q"], "command": "vi_end_record_macro", 
    "context": [{"key": "setting.command_mode"}, {"key": "is_recording_macro"}] 
}, 

{ "keys": ["@", "<character>"], "command": "vi_replay_macro", 
    "context": [{"key": "setting.command_mode"}] 
}, 

그리고 (내가 생각하는) 실제 플러그인의 관련 클래스 :

class ViReplayMacro(sublime_plugin.TextCommand): 
    def run(self, edit, character): 

내가 알아낼 수없는 것은 마지막 명령이 무엇인지 기억하는 것입니다. 실패한 경우 'q'에 기록 된 vi 매크로를 호출하십시오. 이것은 vi_replay_macro (q)를 공백에 바인딩해야 함을 의미하지만 키 바인딩이 어떤 문자를 명령에 재생하는지를 어떻게 전달하는지 이해하지 못합니다.

편집 : 나는 그것을 수행하는 a plugin을 만들었습니다.

답변

1

아마도 마지막 매크로 실행을 실행하기 위해 고유 한 플러그인을 작성해야 할 것입니다. command_history 방법을 사용하고 vi_replay_macro 또는 run_macro 명령을 찾을 때까지 뒤로 검색 할 수 있습니다. ST에 대해 알고있는 것을 기반으로 추측을하고 있습니다. 따라서 다른 방법을 사용할 수 있습니다.

+0

좋아, 많이 감사합니다. 작업을 수행하는 [빠른 플러그인] (https://github.com/roglew/sublime-repeat-vi-macro)을 만들었습니다. – user1539179

관련 문제