Sublime Text宏通过Ctrl+Q(Win/Linux)或Cmd+Q(macOS)隐式录制键盘编辑操作,仅记录手动按键序列,不录鼠标及面板操作;录制后需立即保存为Packages/User/下.sublime-macro文件才能持久化,运行需用run_macro_file命令配合完整包路径绑定快捷键。

怎么录制一个宏命令
Sublime Text 的宏不是“点击开始录制”那种图形化操作,而是通过菜单或快捷键触发一次隐式记录——它只记录你手动执行的编辑行为,不记录鼠标移动、光标悬停或面板切换。
关键点:必须用键盘操作完成所有步骤,且不能中途打开命令面板(Ctrl+Shift+P)或文件树等非编辑动作,否则宏会中断或录进无效指令。
- 按
Ctrl+Q(Windows/Linux)或Cmd+Q(macOS)开始录制 - 用键盘完成你要重复的操作:比如
Ctrl+Home→Shift+End→Ctrl+X→Ctrl+V→Enter - 再按一次
Ctrl+Q停止录制
录制完不会弹窗提示,但状态栏右下角会短暂显示 Macro recorded。
宏保存为 .sublime-macro 文件才能复用
刚录好的宏只存在内存里,关掉 Sublime 就丢了。要长期使用,必须立刻保存为文件。
- 录制完成后,立刻按
Ctrl+Shift+P打开命令面板 - 输入
Save Macro,回车 - 文件名建议用语义化命名,比如
wrap-in-div.sublime-macro,不要用空格或中文 - 默认保存路径是
Packages/User/,这是安全位置,不会被升级覆盖
保存后,这个宏就变成一个 JSON 格式的文本文件,内容全是动作数组,比如 运行宏有三种常用方式,推荐优先用快捷键绑定,避免每次翻菜单: 注意: 宏本质是“回放按键序列”,它没有逻辑判断、不识别上下文、也不理解语法。很多你以为能自动化的操作,宏其实做不到: 最常踩的坑是:录的时候用了鼠标点选,或者中间切了 Tab、点了侧边栏——这些操作不会被记录,但会导致后续按键错位,宏跑起来光标乱跳、内容粘贴错位。只要出现这种现象,基本就是录制过程混入了不可录制动作。{"command": "insert", "args": {"characters": "怎么运行已保存的宏
Preferences → Key Bindings 里添加一条绑定,例如:[
{ "keys": ["ctrl+alt+d"], "command": "run_macro_file", "args": {"file": "Packages/User/wrap-in-div.sublime-macro"} }
]
Ctrl+Shift+P,输入 Run Macro,再选对应文件名Context.sublime-menu,普通用户不建议折腾run_macro_file 命令中的 file 路径必须是完整包路径格式,不能写相对路径或本地绝对路径;Packages/User/ 就是 Packages/User/,别漏掉 Packages/ 前缀。宏不能做的事和常见失效原因
Tab,它只会机械插入制表符,不会根据当前语言自动对齐Ctrl+H 打开替换面板后的一切操作都不会被记录(面板交互不进宏)Emmet: Expand Abbreviation 这类插件命令,有些版本下无法被宏捕获,得改用 run_plugin_command 手动写










