sublime text宏仅记录键盘操作,需用ctrl+q/cmd+q录制,避免鼠标和面板操作;保存时路径、命令名、快捷键须严格规范,文件存于packages/user/下,可手动编辑json宏文件。

Sublime Text 的宏不是“点一下开始录”的图形化工具,它只记录键盘操作序列,不记鼠标、不记面板切换、不支持逻辑判断——想让它稳定回放,关键在起始状态可控、操作路径可复现。
怎么正确开始和停止录制
别去 Tools 菜单里找 Record Macro —— 多数版本中这个菜单项形同虚设。必须用快捷键:Ctrl+Q(Windows/Linux)或 Cmd+Q(macOS)按一次启动录制,再按一次停止。状态栏右下角会闪现 Recording macro,没看到说明根本没录上,或者已经停了。
- 录制中禁止打开
Ctrl+Shift+P(命令面板)、Ctrl+F(查找)、侧边栏或保存文件,这些操作会让宏中断或存入无效指令 - 全程必须用键盘:用
Home/End定位,用Ctrl+L选整行,别拖鼠标——鼠标动作完全不记录 - 如果操作涉及多行,建议先用
Ctrl+D或正则多选打基础,但录制时不要依赖“当前选区”状态,否则回放位置错乱
为什么保存宏后快捷键没反应
这是最常卡住的地方:路径写错、命令名拼错、键组合非法,三者占失败案例的 90% 以上。
-
"command": "run_macro_file"必须全小写,不能是Run_Macro_File或run-macro-file -
"file"值必须是完整包路径,例如"Packages/User/add_semicolon.sublime-macro";不能只写文件名,也不能用./或绝对路径 - 快捷键里避免单独
Shift(如["shift+;"]无效),推荐ctrl+alt+;或ctrl+alt+m这类稳定组合 - 保存后务必通过
Preferences → Browse Packages…确认文件真在Packages/User/目录下
宏文件能手动编辑,而且应该编辑
保存后的 .sublime-macro 是纯 JSON,结构清晰,比如:
[{"command":"move_to","args":{"to":"eol"}},{"command":"insert","args":{"characters":";"}}]
你可以直接打开它删冗余命令、加 {"command": "select_line"} 强制对齐上下文、复制命令块模拟“重复三次”,甚至把 move_to 改成 move 配合 {"by": "lines", "forward": true} 控制跳转行为。
- 所有命令必须是 Sublime 原生
text_command,不能调用插件命令(如side_bar_files) - 不支持剪贴板读写、跨行正则替换、条件分支——这些得靠插件或 Python API 实现
- 删除某条命令后,记得检查前后命令的上下文衔接,比如删掉
End后,insert可能插到行首
宏的本质是“精准复现按键流”,它不聪明,但足够可靠——只要你每次开始前把光标放在预期位置,每一步都用键盘完成,不碰鼠标、不弹面板,它就能稳稳跑完。最容易被忽略的,其实是录制前那三秒:清空选区、移回行首、确认无弹窗干扰。











