2013-05-01 31 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_macrorun_macro命令。基於我對ST的瞭解,我只是猜測,所以可能還有其他方法可以解決這個問題。

+0

好的,非常感謝。我創建了一個[快速插件](https://github.com/roglew/sublime-repeat-vi-macro),可以完成這項工作 – user1539179 2013-05-02 04:45:39

相關問題