sublime text 本身不保存文件修改历史,必须依赖插件且满足“已保存文件+路径一致+插件启用”三条件;local history 列表为空主因是文件未保存、未再次保存即撤回或路径不匹配,恢复已删文件需在原路径新建同名文件并保存后才可调出历史版本。

Sublime Text 本身不保存文件修改历史,所谓“查看修改历史”必须依赖插件,且只有在满足特定条件时才真正可用——不是装了插件就自动生效,更不能回溯未保存的更改。
Local History 插件列表为空?先确认三个硬性前提
Local History 插件不会为以下情况生成任何快照,空列表不是插件故障,而是触发条件缺失:
- 文件从未执行过
Ctrl+S(仍是Untitled),且配置项backup_untitled为false(默认值) - 修改后只按
Ctrl+Z撤回,但没再Ctrl+S——它只在保存时刻写入快照 - 当前文件路径与插件记录的原始路径不一致:比如删掉后新建同名文件但位置不同,或用拖拽方式打开而非从项目树中打开
验证是否生效:改一行 → Ctrl+S → 再改一行 → Ctrl+S → 右键 → Local History → Show History,这时应至少看到两条带时间戳的记录。
BackupOnSave 和 Simple History 到底选哪个
二者都靠保存动作触发,但底层机制和适用场景完全不同:
-
BackupOnSave:每次保存都在你指定目录下生成一个独立的.bak或时间戳命名的副本(如main.py.2026-05-13-02-15-00),适合脚本扫描、手动归档,或需要 Git 那样可 diff、可批量清理的备份 -
Simple History:把版本存进 Sublime 的本地数据库(Local/目录下),不产生额外文件,右键调用轻量,但无法被外部工具直接读取 - 二者不兼容共存——同时启用可能导致重复备份或菜单冲突,建议只选其一
如果你刚改完关键逻辑,想快速比对两版差异,BackupOnSave 更可控;如果只是偶尔点开看看昨天删了哪段,Simple History 更省心。
恢复已删除但曾保存过的文件,路径必须完全一致
Local History 不依赖当前文件是否存在,只认完整路径(含大小写、扩展名、斜杠方向)。所以恢复流程是:
- 在原位置新建一个同名空文件(例如原路径是
/project/src/utils.js,就得新建到这个精确路径) - 保存它(
Ctrl+S),让它被插件“认领” - 右键 →
Local History→Show History,列表就会出现该路径的历史版本
注意:Restore 按钮会直接覆盖当前文件内容;如果只想比对,点击历史条目会在新标签页以只读方式打开,支持复制粘贴。
为什么刚保存的内容没出现在历史里?延迟和静默失败很常见
Local History 默认有 1 秒延迟写入,且受 Sublime 异步 I/O 调度影响。容易被忽略的干扰点:
- 文件正被其他进程占用(如 Git 正在提交、杀毒软件扫描)→ 备份失败无提示
- 磁盘空间不足,或
Local/目录权限受限 → 插件静默跳过备份 - 启用了
hot_exit: true,而插件在退出瞬间来不及刷盘 → 建议设为false并正常退出
最稳妥的做法:改完关键段落后,手动按一次 Ctrl+S,稍等半秒再看历史菜单——别依赖“自动”二字。复杂点在于,它不报错,也不提醒,失效就是无声无息地不记录。











