sublime宏通过快捷键ctrl+q/cmd+q隐式录制,状态栏提示“recording macro”;录制中禁用鼠标、命令面板等操作;回放结果高度依赖起始位置与上下文;保存需用完整路径packages/user/name.sublime-macro;宏文件为可编辑json,支持手动删改命令以增强健壮性。

怎么开始录制:别找菜单,直接按快捷键
Sublime 的宏不是点“开始录制”按钮出来的,它靠快捷键隐式触发——Ctrl+Q(Windows/Linux)或 Cmd+Q(macOS)按一下就进录制状态,再按一次就停。状态栏右下角会闪一下 Recording macro,没看到说明没录上,或者已经停了。
- 别去 Tools 菜单里点 Record Macro——虽然能点,但很多版本里这个菜单项实际不生效,依赖快捷键才稳
- 录制中不能打开命令面板(
Ctrl+Shift+P)、查找框(Ctrl+F)、侧边栏或保存文件,这些操作会让宏中断或存入无效指令 - 全程必须用键盘:用
Home/End定位,用Ctrl+L选整行,别拖鼠标——鼠标动作完全不记录
为什么回放总出错:起始位置和上下文太敏感
宏本质是机械回放按键流,它不理解你当前在哪一行、有没有选中文本、光标在词中间还是行首。所以“同一宏在不同位置运行结果不同”是常态,不是 bug。
- 如果录制时是在行末按了
Enter+Tab,回放时光标在行中,就会插在中间,缩进错乱 - 录了
Ctrl+F→ 输入foo→Enter→Ctrl+D,那回放时当前文件必须有foo,否则Ctrl+D无匹配项,直接卡住 - 多光标操作(如
Ctrl+Click)无法录制;但Ctrl+D这类基于文本的增选可以,前提是上下文一致
怎么保存并绑定快捷键:路径写错=白干
刚录完的宏只存在内存里,关掉 Sublime 就丢。要长期用,必须立刻保存为 .sublime-macro 文件,并且路径必须写对——这是最常卡住的地方。
- 保存路径必须是完整包路径:
Packages/User/add_semicolon.sublime-macro,不能写成add_semicolon.sublime-macro或./add_semicolon.sublime-macro - 快捷键绑定时,
"command": "run_macro_file"必须全小写,拼错(比如Run_Macro_File)就无效 - 快捷键组合里避免单独用
Shift,比如["shift+;"]不生效,改用["ctrl+alt+;"]更可靠 - 保存后务必通过 Preferences → Browse Packages… 打开
Packages/User/文件夹,确认文件真在那里
能不能手动改宏:可以,而且很值得
.sublime-macro 文件就是个 JSON 数组,打开就能看到每一步命令,比如 {"command": "insert", "args": {"characters": ";"}}。这不是黑盒,是可读、可调、可删的编辑流水账。
- 删掉某条命令:比如去掉最后的
{"command": "move", "args": {"by": "lines", "forward": true}},让它不自动跳下一行 - 复制粘贴命令块:宏不支持循环,但你可以把三行插入操作展开写三次,实现“重复三次”效果
- 加健壮性:插入
{"command": "select_line"}确保每次操作都基于整行,减少对初始选区的依赖 - 注意:所有命令必须是 Sublime 原生
text_command,插件命令(如side_bar_files)不能用










