ctrl+q是唯一有效启动宏录制的快捷键,菜单点击无效;录制需光标在编辑区且紧接实际按键操作;回放失效主因是上下文不匹配;保存宏文件须路径正确、命名规范、内容为合法json数组。

Ctrl+Q 是唯一启动入口,菜单点击基本无效
Sublime 宏不响应 Tools → Record Macro 菜单点击,状态栏没闪 Recording macro 就等于没录。Windows/Linux 必须按 Ctrl+Q,macOS 默认 Cmd+Q 会退出应用,得先禁用系统快捷键或改用 Ctrl+Q。按下瞬间光标必须在编辑区(不能在侧边栏、空标签页或命令面板里),且紧接着要有实际键盘操作——比如 End、;、↓,纯按键不触发录制。
回放总卡住?不是宏坏了,是上下文对不上
宏只复现按键流,不管你是 Python 还是 JSON,也不管当前有没有该单词。常见失效现象:
-
Ctrl+D回放失败 → 录制时那行有重复词,回放时没了,选区扩展中断,后续全偏移 -
Tab补全卡住 → 回放文件类型不是.html或 Emmet 插件未启用 - 光标停在行中却只删了后半截 → 录制前没按
Home或Ctrl+Home归位到行首
解决思路:少依赖文本内容匹配,多用确定性位置操作,比如 End → ; → ↓,而不是“选中整行→输入;”。
保存后快捷键不生效?90% 是路径或命名写错
宏关掉 Sublime 就丢,保存是硬性前提。但保存后快捷键没反应,几乎全是配置问题:
-
"command"必须小写且拼写精准:run_macro_file,写成RunMacroFile或run-macro-file全无效 -
"file"值必须是完整包路径:Packages/User/add_semicolon.sublime-macro,不能省略Packages/User/,不能用./或绝对路径 - 文件名只能含小写字母、数字、下划线,必须以
.sublime-macro结尾;AddSemicolon.sublime-macro或中文名会加载失败 - 保存后务必打开
Preferences → Browse Packages…,进User/文件夹确认文件真实存在且内容为合法 JSON 数组
手动编辑 JSON 比重录更高效
所有 .sublime-macro 都是扁平 JSON,结构清晰。比如想确保每行末尾加分号,可直接编辑文件,把冗余的选区命令删掉,插入 {"command": "move_to", "args": {"to": "eol"}} 再加 {"command": "insert", "args": {"characters": ";"}}。但要注意:它无法处理条件逻辑、动态内容或鼠标交互,能靠键盘走通的流程才适合做宏。











