Ctrl+Q(Windows/Linux)或Cmd+Q(macOS)是唯一有效启动宏录制的快捷键,菜单项Tools→Record Macro在Sublime 4.4+中基本失效;录制需光标在编辑区且紧接键盘操作;保存宏须路径完整、命名规范、内容为合法JSON数组,回放依赖run_macro_file命令与严格匹配的路径和命令名。

Ctrl+Q 是唯一有效的录制启动快捷键
Sublime Text 不支持自定义“开始录制宏”的快捷键,Ctrl+Q(Windows/Linux)或 Cmd+Q(macOS)是硬编码入口,改不了。菜单里的 Tools → Record Macro 在 Sublime 4.4+ 中基本失效,状态栏不闪 Recording macro 就等于没录上。
常见误判点:
- 光标不在编辑区时按
Ctrl+Q:侧边栏、设置页、命令面板里全无效 - macOS 用户未禁用系统级
Cmd+Q(退出应用):导致直接关掉 Sublime,得先在系统设置里关掉该快捷键,或改用Ctrl+Q - 按完
Ctrl+Q后没做任何键盘操作:宏内容为空,回放时静默失败
保存宏后怎么绑定回放快捷键
回放必须用 run_macro_file 命令 + 完整路径,不是随便写个名字就能调。配置写错 Sublime 不报错,只沉默跳过。
正确做法:
- 打开
Preferences → Key Bindings,在右侧用户配置中加一条 JSON: {"keys": ["ctrl+alt+;"], "command": "run_macro_file", "args": {"file": "Packages/User/add_semicolon.sublime-macro"}}-
"command"必须小写且拼写精准:run_macro_file,写成RunMacroFile或run-macro-file都无效 -
"file"必须是完整包路径:Packages/User/xxx.sublime-macro,不能省略Packages/User/,也不能用./或绝对路径 - 快捷键避开单独
Shift:["shift+;"]不生效,推荐["ctrl+alt+;"]或["ctrl+alt+m"]
为什么快捷键按了没反应
90% 的问题卡在三处硬匹配:路径、命名、命令名。Sublime 加载失败时完全不提示,只能手动验证。
排查步骤:
- 执行
Preferences → Browse Packages…,确认文件真实存在于User/文件夹下,且文件名全小写、无空格、以.sublime-macro结尾 - 双击打开该文件,检查内容是否为合法 JSON 数组,例如:
[{"command":"move_to","args":{"to":"eol"}},{"command":"insert","args":{"characters":";"}}] - 确保 Sublime 已重启过——修改键位配置后,旧进程不会自动重载
- 别用
Ctrl+Shift+Q回放:那是播放“最近一次录制的临时宏”,不是你保存的文件
多行处理不能靠宏原生实现
宏本质是按键流回放,不是批量处理器。哪怕你用 Ctrl+Shift+L 拉了 10 个光标,run_macro_file 也只在第一个光标位置执行一次。
可行解法:
- 手动布设多光标:比如正则选中
^后按Ctrl+Shift+L,确保每个光标都在行首,再运行以move_to+{"to": "eol"}为主的宏 - 别录“选中整行→输入;”,而要录
End→;→↓,靠光标移动而非选区状态保证可复现 - 长期需要多行操作,装
MultiEditUtils插件,用Ctrl+Shift+P → MultiEdit: Run Command on Each Selection
宏文件本身可手动编辑,JSON 结构清晰,删冗余命令、加 select_line 强制对齐上下文,比反复重录更高效。但所有改动都依赖光标初始位置与录制时一致——它不理解语义,只机械回放。


















