0

目前,我正在尝试崇高的文本。大部分都很好,但有一个大功能我不知道如何在 sublime 文本中实现。在 vim 中,必须有空间来重复我执行的最后一个宏。但是,我找不到在崇高文本中实现它的好方法。

为了了解更多信息,我查看了 vintage 包中的宏键绑定:

{ "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) 绑定到空间,但我不明白键绑定如何将要重播的字符传递给命令。

编辑:我创建了一个插件来做到这一点。

4

1 回答 1

1

您可能必须编写自己的插件来运行最后一次宏运行。您可以尝试使用该command_history方法,然后向后搜索,直到找到vi_replay_macroorrun_macro命令。我只是根据我对 ST 的了解进行猜测,因此可能还有其他方法可以解决。

于 2013-05-01T23:48:54.590 回答