如何在Sublime Text中为录制的宏分配键盘快捷键


43

我有一堆宏,这些宏已经记录并保存在Sublime Text 2中。我试图为每个快捷键分配键盘快捷键,但是我对如何执行此操作有点迷茫,

我看了一下

但这说明了如何为现有命令设置键绑定。

我应该设置什么使其运行宏?


2
这同样适用于ST3-谢谢!
ptim

Answers:


61

要指示Sublime Text运行宏,您需要将“ run_macro_file”作为参数传递给“ command”,参数是宏的文件名。

首先,仅记录宏不会将其保存到文件中,您必须将宏保存到文件中。可以通过单击工具→保存宏并提供文件名来完成。宏通常保存在 %appdata%\Sublime Text 2\Packages\User文件夹中。

接下来,要分配键盘快捷方式,请从“首选项”→“键绑定-用户”中打开“键绑定”文件。

现在,键绑定的一般格式如下:

{ "keys": [<key sequence>], "command": "run_macro_file", "args": {"file": "Packages/User/<file name>.sublime-macro"} }

所以,如果你想分配Ctrl+ Shift+ X到已保存为“添加逗号结束”宏,键绑定线看起来像这样:

[
    { "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "Packages/User/add comma to end.sublime-macro"} }
]

2
您可以使用context.. 限制快捷方式的活动范围。这是Emmet的示例:github.com/sergeche/emmet-sublime/blob/master/…–
ptim

@ptim这是否意味着您可以将某些宏限制为仅对Python脚本有效?
gustafbstrom

1
@gustafbstrom-有点!是的,但是限制实际上是在键绑定上,而不是在宏上:) docs.sublimetext.info/en/latest/reference/…–
ptim

1
仍然适用于sublime v3。路径是相对的,因此"Packages/User/my_commands.sublime-macro"有效。在Mac上测试。
marlo

在Windows上的Sublime Text 3 Portable上进行了测试。也可以。路径是相对的。
Ifan Iqbal
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.