Sublime Text 本身不支持批量重命名文件,真正可用的插件只有 FileRenamer;它通过系统命令执行重命名,支持预览但不备份,且不校验文件名合法性或占用状态。

Sublime Text 本身不支持批量重命名文件
Sublime Text 是文本编辑器,不是文件管理器,os.rename 或系统级重命名能力它压根没有。所有“Sublime 批量改文件名”的说法,本质都是靠插件调用外部命令(比如 mv、ren)或集成系统 API 实现的。直接在 Sublime 里按 Ctrl+Shift+P 搜 “rename” 看到的插件,90% 都是改当前打开的文件内容或标签名,不是改磁盘上的文件名。
真正能批量改文件名的插件只有 PackageControl 上的 FileRenamer
目前稳定可用、权限清晰、支持跨平台的只有 FileRenamer。它不依赖 Python 脚本注入,而是通过 Sublime 的 show_input_panel 获取规则,再调用系统命令执行。安装后右键文件夹 → Rename Files... 即可启动。
- Windows 下会调用
PowerShell,需确保系统启用 PS 执行策略(常见报错:ExecutionPolicyis restricted) - macOS / Linux 下走
sh -c,路径含空格时必须用单引号包裹,插件默认已处理 - 不支持正则捕获组重用(比如
$1),只支持简单通配符:*和? - 改名前会预览结果,但不会自动备份——误操作不可逆
别用 SideBarEnhancements 的 rename 功能批量操作
很多人装了 SideBarEnhancements 就以为能批量改名,其实它的 Rename... 只对单个选中项生效,多选时右键菜单里根本不会出现该选项。强行用鼠标框选多个文件再右键,出来的还是单个文件的重命名框——这是 Sublime 的 API 限制,插件也无能为力。
- 现象:多选 5 个文件 → 右键 → 没有 “Rename” 项,或点了只弹一个输入框
- 原因:Sublime 的
side_bar.py插件接口只传入第一个选中路径,其余被忽略 - 替代方案:用终端 +
find+mv(Linux/macOS),或 PowerShell 脚本(Windows),比硬凑插件更可靠
安全边界:哪些字符和场景必须手动避开
即使用了 FileRenamer,文件系统本身的限制不会绕过。插件不会校验目标名是否合法,出错就直接失败,且不提示具体原因。
- Windows 禁止使用:
< > : " / \ | ? *—— 插件不会过滤,输进去就报Invalid argument - macOS/Linux 对大小写不敏感(APFS 默认),
file.txt改成FILE.TXT实际无效,但插件显示“成功” - 路径含中文或 emoji 一般没问题,但 NFS 或某些 Docker 卷可能触发
UnicodeEncodeError,此时得换终端手动跑 - 不要在正在被程序占用的目录里批量重命名(比如 Python 的
__pycache__目录),容易卡死或跳过部分文件
插件再方便,终究是在编辑器里动磁盘文件——只要涉及重命名,就得默认它是一次性、不可撤回、不校验上下文的操作。










