Sublime Text原生不支持批量重命名,必须依赖SideBarEnhancements插件并满足三个硬性条件:项目上下文(Project→Add Folder to Project…显式添加)、启用"enable_batch_rename": true、模板含{{name}}或{{index}}等动态变量,缺一不可。

Sublime Text 原生不支持批量改文件名,所有“右键多选→重命名”都依赖 SideBarEnhancements 插件,且必须满足三个硬性条件:项目上下文、插件配置开启、模板含动态变量——缺一不可。
怎么让 Batch Rename 菜单项真正出现
装完插件 ≠ 能用批量功能。菜单不显示,大概率是以下任一条件未满足:
- 没通过
Project → Add Folder to Project…显式添加文件夹(拖进窗口或File → Open Folder无效) -
Packages/User/SideBarEnhancements.sublime-settings里没加"enable_batch_rename": true - 没重启 Sublime Text(ST4 某些版本甚至需手动执行
Package Control: Satisfy Dependencies) - 右键对象不是侧边栏里的文件节点(已打开的标签页上右键无效)
模板变量写错会导致覆盖或静默失败
输入模板时插件会预览,但变量语法错一点就全崩:
- 必须含
{{name}}或{{index}}(或{{index0}}),否则所有文件被重命名为同一名称,触发系统覆盖警告 -
{{name}}是原文件名(不含.ext),{{ext}}是扩展名(含点,如.js) -
{{index}}从 1 开始,{{index0}}从 0 开始;补零写法{{index|03}}在部分版本不生效,稳妥用img_{{index0}}.{{ext}} - 别写
{n}或{name}——SideBarEnhancements只认双大括号语法,其他会被当普通字符串输出
重命名后标签页和侧边栏不同步怎么办
这不是 bug,是设计行为:插件只调用 os.rename(),不刷新 Sublime 内部视图状态:
- 已打开的标签页仍指向旧路径,编辑保存会写回已删除文件,或新建同名文件导致内容丢失
- 解决方法:在用户设置中加
"atomic_save": false,重命名后标签页标题会立刻更新 - 侧边栏不会自动刷新,需手动按
Ctrl+R(Windows/Linux)或Cmd+R(macOS) - 已打开文件内容不自动重载,必须右键标签页 →
Revert,或先保存再关闭重开
撤销操作默认不可用,且只能整批回滚
Ctrl+Z 默认对重命名无效,一旦提交就不可逆——除非你提前配置:
- 在
Packages/User/SideBarEnhancements.sublime-settings中加"enable_undo_for_rename_operations": true - 注意 JSON 格式:结尾要加逗号(如果后面还有配置项),否则插件加载失败
- 启用后每次重命名生成一个可撤销批次,
Ctrl+Z是整批回滚,不是单个文件 - 撤销仅在当前 Sublime 会话中有效,重启后失效
最常被忽略的是:重命名不等于代码引用同步更新。改完文件名后,import、require、HTML src 等路径仍需手动或用 Ctrl+Shift+F 替换,插件对此完全无感知。


















