sublime宏仅录制键盘操作,不支持鼠标和菜单;必须用键盘完成全部操作,光标起始位置需一致;保存路径须为packages/user/xxx.sublime-macro,命名禁用中文与空格;绑定快捷键唯一可靠方式是run_macro_file命令。

宏只能录键盘操作,鼠标和菜单点选完全无效
Sublime 的宏本质是按键事件序列的线性回放,它不理解上下文,也不捕获鼠标移动、右键菜单、侧边栏点击或命令面板(Ctrl+Shift+P)的打开动作。一旦你在录制中误触了命令面板或切换了标签页,宏里就会混入无效指令,回放时大概率卡住或错位。
- 只用键盘完成全部操作:比如用
Ctrl+Home代替鼠标点行首,用Ctrl+Shift+L拆行代替手动选中再右键 - 避免任何非编辑行为:不切文件、不点侧边栏、不调设置窗口——哪怕只是想看一眼配置,也得先停录
- 光标起始位置必须一致:宏不会自动“找某行”,它只从当前光标位置开始机械执行。比如你录的是“删当前行”,那回放时一定删的是光标所在行,不是“第一行”或“含
TODO的行”
保存路径写错,宏就永远加载失败
Sublime 只认两种路径格式:Packages/User/xxx.sublime-macro(推荐)或绝对路径(如 C:/Users/name/AppData/Roaming/Sublime Text 3/Packages/User/xxx.sublime-macro)。其他写法全无效,且不报错——点了快捷键没反应,你根本不知道是哪错了。
- 别存到
Packages/Default/:升级 Sublime 会清空这个目录,你的宏直接消失 - 别用中文名或空格:像
添加分号和换行.sublime-macro或clean js .sublime-macro都会静默失败 - 路径必须带完整扩展名:
add_semicolon.sublime-macro✅,add_semicolon❌ - 验证是否加载成功:保存后按
Ctrl+Shift+P输入Run Macro,如果列表里没出现你的文件名,就是路径或命名有问题
绑定快捷键必须用 run_macro_file 命令
Sublime 不提供“播放最近宏”的通用快捷键绑定能力。默认的 Ctrl+Q 只能播内存里的临时宏,关掉就丢;要复用已保存的宏,唯一可靠方式是通过 run_macro_file 命令配路径。
- 在
Preferences → Key Bindings用户设置里加这条(注意是右侧面板):
{ "keys": ["ctrl+alt+;"], "command": "run_macro_file", "args": { "file": "Packages/User/add_semicolon_and_enter.sublime-macro" } }
-
args.file值必须是字符串,且大小写、斜杠方向都要对(Windows 也用正斜杠/) - 别试图用
playback_macro命令绑快捷键——它只能播最后一次录制的临时宏,无法指定文件 - 改完快捷键后不用重启,但要确保没语法错误,否则整段键位配置会失效
宏文件是纯 JSON,手动编辑能救很多命
每个 .sublime-macro 文件打开就是个数组,每项是一个带 command 和 args 的对象。它不像脚本那样抽象,而是非常直白的动作快照——这既是限制,也是优势:你能一眼看出哪里多按了一次 End,也能删掉冗余步骤。
- 常见可删项:
{"command": "move", "args": {"by": "characters", "forward": true}}(单字符右移)这种微操作常因手抖被录进去 - 可合并项:连续两个
insert命令,可以手动合成一个,减少回放延迟 - 别乱动
command名:比如把move_to改成move就会报错,Sublime 不校验参数,只校验命令是否存在
宏没法做判断、循环或条件跳过,但它足够轻量——只要步骤固定、光标可控,一个 JSON 文件就能省下你每天几十次重复敲击。真正容易被忽略的,是每次录制前那三秒停顿:确认光标在哪、确认当前文件类型、确认没开着无关面板。这三秒,比写一百行 Python 脚本还关键。










