按 Ctrl+Q(Win/Linux)或 Cmd+Q(macOS)开始录制宏,再按一次停止;必须用快捷键而非菜单触发,录制中禁用鼠标、命令面板等干扰操作,保存路径须为 Packages/User/xxx.sublime-macro,绑定快捷键需用 run_macro_file 命令。

怎么开始录制:别点菜单,直接按 Ctrl+Q(Windows/Linux)或 Cmd+Q(macOS)
Sublime 的宏不是靠菜单“启动”的功能,它本质是快捷键触发的隐式状态切换。按一次 Ctrl+Q 进入录制,再按一次就停止——状态栏右下角会闪现 Recording macro,没看到就说明没录上,或者已经停了。
常见错误现象:点了 Tools → Record Macro 却毫无反应,或录完回放完全不对。这是因为某些 Sublime 版本里该菜单项实际不生效,依赖快捷键才稳定。
- 录制中绝对不能打开
Ctrl+Shift+P(命令面板)、Ctrl+F(查找)、侧边栏或设置窗口,这些操作会让宏中断或存入无效指令 - 全程必须用键盘完成:用
Home/End定位,用Ctrl+L选整行,别拖鼠标——鼠标动作完全不记录 - 建议先在空白文件试一次完整流程,比如“
End→;→Enter”,确认步骤干净再正式录
为什么保存路径写错就永远找不到宏
Sublime 只认两种路径格式:Packages/User/add_semicolon.sublime-macro(推荐)或完整本地绝对路径;其他写法全无效,且不报错——你按快捷键没反应,根本不知道哪错了。
使用场景:你希望宏重启后还能用,而不是每次打开 Sublime 都重录。
- 别存到
Packages/Default/:Sublime 升级时会清空这个目录,宏直接消失 - 文件名禁用中文、空格、大小写混用:
添加分号.sublime-macro或AddSemicolon.sublime-macro都会静默失败 -
file参数必须带完整扩展名:add_semicolon.sublime-macro✅,add_semicolon❌ - 验证是否加载成功:保存后按
Ctrl+Shift+P输入Run Macro,如果列表里没出现你的文件名,就是路径或命名有问题
绑定快捷键必须用 run_macro_file,别碰 playback_macro
playback_macro 命令只能播最后一次录制的临时宏,关掉 Sublime 就丢;而你要复用已保存的宏,唯一可靠方式是通过 run_macro_file 命令配路径。
参数差异明显:run_macro_file 要求 args.file 是字符串,且大小写、斜杠方向都必须严格匹配——Windows 也用正斜杠 /,不是反斜杠 \。
- 在
Preferences → Key Bindings用户设置(右侧面板)中添加: {"keys": ["ctrl+alt+;"], "command": "run_macro_file", "args": {"file": "Packages/User/add_semicolon.sublime-macro"}}- 键组合里避免单独
Shift(如["shift+;"]无效),推荐ctrl+alt+;或ctrl+alt+m - 别试图用
playback_macro绑快捷键——它无法指定文件,也不支持持久化
宏文件是 JSON,可以手动编辑但有硬限制
打开 Packages/User/add_semicolon.sublime-macro,你会看到清晰的命令序列,比如:
[{"command": "move_to", "args": {"to": "eof"}}, {"command": "insert", "args": {"characters": ";"}}]
这让你能删掉冗余步骤、插入 {"command": "select_line"} 提高鲁棒性,甚至复制命令块模拟“重复三次”——但所有命令必须是 Sublime 原生 text_command,不能调用插件命令(如 Emmet 的 expand_abbreviation)。
- 宏不支持条件判断(如“只对含
function的行操作”)、不处理剪贴板、不跨行正则替换 - 回放失败的三个典型原因:光标起始位置不对、某条命令在回放时被插件拦截(如
Tab触发了 Emmet)、宏没保存就关了 Sublime - 最常被忽略的一点:刚录完没保存就关 Sublime,宏只存在内存里,重启后彻底消失

















