sublime删除文件不进回收站且不检查占用,重命名依赖sidebarenhancements插件;删/改名后需手动更新代码引用,启用插件的enable_undo_for_rename_operations才支持ctrl+z撤销。

删文件:别点右键就删,先看它有没有被打开
Sublime 本身不提供“安全删除”机制,右键 → Delete 是直接调用系统命令(os.remove 或 shutil.rmtree),删了就没了,不进回收站,也不管你是不是正在编辑它。
- 如果文件正被 Sublime 打开(标签页里有),删完侧边栏会立刻变灰、报错
Unable to load ... No such file or directory,但编辑器不会自动关掉该标签——你得手动关,否则保存时会静默失败 - Windows 下若文件被其他进程占用(比如日志文件正被服务写入),右键删会弹出系统级错误,Sublime 不拦截也不提示原因
- 推荐做法:删之前先确认没有对应打开的标签页;或装
SideBarEnhancements插件,它会在删除前弹确认框,并支持Shift+Delete绕过确认(慎用)
重命名文件:SideBarEnhancements 是唯一靠谱方案
原生 Sublime 只能重命名单个文件(右键 → Rename),且不支持模板、编号、批量。真正可用的批量重命名能力,全靠 SideBarEnhancements 插件撑着——它不是“增强”,是刚需。
- 安装后,选中多个文件 → 右键 →
Rename→ 输入模板,如img_{{index0}}.jpg,{{index0}}从 0 开始计数,{{name}}保留原名,{{ext}}保留扩展名 - ⚠️ 模板里没含
{{index}}或{{name}}?所有文件会被重命名为一模一样的名字,系统会弹覆盖警告,但插件不阻止你点确定 - Mac/Linux 用户注意:
IMG_1.png→img_1.png在默认 APFS 下是覆盖而非重命名,无提示;Windows 长路径超 260 字符会报[Error 3] The system cannot find the path specified,需提前开启长路径支持
删/重命名后代码引用不同步?这才是真坑
删了 utils.py 或重命名为 helpers.py,但 import utils 还在代码里,运行就报 ModuleNotFoundError。Sublime 不会自动改引用,必须人工补救。
- 用
Ctrl+Shift+F全局搜索旧名,范围限定为*.py或当前项目文件夹,勾选Whole Word和Case Sensitive避免误伤 -
SideBarEnhancements的Rename功能虽标榜“更新引用”,但它只搜硬编码字符串(如from utils import x),对importlib.import_module("utils")或f"{mod}_utils.py"完全无效 - 更稳的方式:先用外部工具(如
PowerRename/rename命令)完成文件系统层操作,再进 Sublime 用全局替换扫一遍引用,顺序不能反
想撤销?得提前开开关
SideBarEnhancements 默认关闭重命名撤销功能。删错或重命名错一堆文件后按 Ctrl+Z,什么都不会发生。
- 必须手动打开:菜单 →
Preferences→Package Settings→SideBarEnhancements→Settings,把"enable_undo_for_rename_operations": true设为true - 开启后,整批重命名操作可被一次
Ctrl+Z撤回,但仅限当前 Sublime 会话;重启后失效 - 没开这个选项又手滑了?只能靠文件系统快照、Git 历史或备份恢复——别指望插件自己记住
enable_undo_for_rename_operations。这两处一错,后面全是救火。










