local history 是最接近“历史记录”的方案,它响应 sublime 内部保存事件,在项目根目录生成 .sublime-history/ 文件夹,按时间戳存档(如 main.py.2026-05-25_18-12-04),支持双击对比、右键恢复,每2分钟自动抓取或手动调用。

Sublime Text 原生不提供自动备份历史记录功能,所谓“历史版本”必须靠插件组合实现——save_on_focus_lost防丢、Local History存快照、AutoSave配backup_on_save生成.bak,三者逻辑不同、不可混用。
为什么 Local History 是最接近“历史记录”的方案
它不是监听文件系统,而是响应 Sublime 内部的保存事件,在项目根目录下生成 .sublime-history/ 文件夹,按时间戳存档(如 main.py.2026-05-25_18-12-04),支持双击对比、右键恢复。
- 安装后默认每 2 分钟自动抓取一次,也可手动调用:
Ctrl+Shift+P→ 输入Local History: Save Current File - 快照只对已保存过(即有真实路径)且被 Sublime 编辑修改过的文件生效;命令行直接改文件、Git 拉取覆盖等外部变更不会触发
- 别把
.sublime-history/改到项目外路径,否则换机器或 Git 同步时历史就丢了 - 它不加密、不压缩、不校验,仅用于临时回滚——重要项目仍需
git commit或外部备份
AutoSave 插件怎么配 backup_on_save 才真生成 .bak
想每次保存时顺手复制一份 file.js.bak,得用 AutoSave 插件并启用 backup_on_save,但默认不开启,且依赖路径写入权限。
- 必须通过
Preferences → Package Settings → AutoSave → Settings进入专用配置页,不是往通用User Settings里加字段 - 最小有效配置是:
{"backup_on_save": true, "auto_save_file": true} - 备份默认存到项目根目录下的
.sublime-backup/;若项目在/System/、OneDrive 同步目录或网络盘,可能静默失败(无报错) -
backup_on_save每次覆盖旧.bak,只留最后一份——不是版本管理,只是“后悔药”
save_on_focus_lost 和 backup_on_save 不能同时开
save_on_focus_lost 是原生机制,切出窗口即落盘;backup_on_save 是插件钩子,只在 Sublime 主动执行保存时触发。两者叠加会导致:同一文件在 1 秒内被写盘两次,大日志或被 Webpack 实时读取的文件容易卡死或冲突。
- 如果只想要防崩溃/断电丢失,
save_on_focus_lost+Local History就够了 - 如果硬要
backup_on_save,请先在User Settings中注释掉"save_on_focus_lost": true -
hot_exit和remember_open_files可以保留,它们管会话恢复,不影响备份逻辑
常见失效原因:路径、权限、API 版本全得对得上
装了插件、写了配置却没生成历史或 .bak,大概率卡在这几个隐形环节:
- Windows 用户路径含空格或括号(如
C:\My Projects (test)\),部分AutoSave版本会跳过备份;先用纯英文路径测试 - Sublime Text 4 Build 4143+ 需用新版
AutoSave(作者 r-wood)或Local History(kemayo),老分支可能报AttributeError: 'NoneType' object has no attribute 'file_name' - SideBarEnhancements、FileDiffs 等插件可能劫持保存流程,导致备份钩子失效;可临时禁用其他插件验证
- macOS/Linux 上 shell 钩子若用错引号(比如用双引号包
'$file'),也会静默失败
历史记录这事,没有“开了就自动有”的魔法开关——.sublime-history/ 要手动触发或定时抓取,.bak 要路径可写且插件不被拦截,而原生设置里任何带 auto_save 字样的字段,都只是摆设。











