sublime宏需用ctrl+q(win/linux)或cmd+q(macos)快捷键录制,状态栏显示“recording macro”即启动;仅记录键盘操作,须全程用键盘、禁用鼠标及命令面板;保存必须为packages/user/xxx.sublime-macro路径,绑定快捷键唯一有效方式是run_macro_file命令配完整路径。

Sublime 的宏不是“设置”出来的,而是用 Ctrl+Q(Windows/Linux)或 Cmd+Q(macOS)**直接录制**,再保存为 .sublime-macro 文件才能复用;不保存就关软件,宏立刻丢失。
怎么正确开始录制:别点菜单,按快捷键
Tools → Record Macro 菜单项存在,但容易误点、响应慢,且状态提示不明显。真正可靠的方式是按下 Ctrl+Q(Win/Linux)或 Cmd+Q(macOS),状态栏右下角会闪现 “Recording macro” —— 这才是录制已启动的唯一可信信号。
- 录制前先在空白文件试一次完整流程,比如
End→;→↓,确认光标落点和节奏干净 - 全程只用键盘:用
Ctrl+L选整行、Ctrl+Shift+L拆多行、Home/End定位,鼠标拖选完全无效 - 中途弹出查找框(
Ctrl+F)、命令面板(Ctrl+Shift+P)或保存对话框,录制会静默中断,后续操作全丢
为什么保存后快捷键没反应:路径和命令名必须严丝合缝
宏文件本质是 JSON,Sublime 只认一种加载方式:run_macro_file 命令 + 完整包路径。写错任何一处,快捷键就静默失效,且不报错。
-
"command"必须是小写run_macro_file,不能写成RunMacroFile或playback_macro -
"file"值必须是完整路径,例如"Packages/User/add_semicolon.sublime-macro";不能用相对路径、本地绝对路径,也不能省略Packages/User/前缀 - 文件名不能含中文、空格或特殊符号;扩展名必须是
.sublime-macro,少一个字母都不行 - 保存后按
Ctrl+Shift+P输入Run Macro,如果列表里没出现你的文件名,说明路径或命名已出错
回放总“跑偏”:光标位置和上下文比操作本身更重要
宏不理解语义,只机械回放按键流。它对初始状态极度敏感,同一宏在不同上下文中行为可能完全不同。
- 你录的是 “删当前行”,回放时就得把光标放在目标行首;它不会自动找 “含 TODO 的行” 或 “第一行”
- 录了
Ctrl+D高亮单词,回放时当前行若无该单词,Ctrl+D就失败,后续动作全部错位 - 录了
Tab触发 Emmet 补全,回放时若不在 HTML 文件、或 Emmet 插件未启用,动作就卡住 - 调试方法:打开
Packages/User/xxx.sublime-macro文件,直接看 JSON 内容是否包含预期命令,如{"command": "move_to", "args": {"to": "eol"}}
宏适合线性、固定步骤的任务,比如每行加引号、删空行、补分号。一旦涉及判断逻辑(“只处理注释行”)、跨文件操作或正则替换,它就力不从心——这时候该换 Python 插件或 Ctrl+Shift+H 配合 Ctrl+Alt+Enter 批量替换,而不是硬扛宏。











