Sublime Text 无内置编辑历史,所谓“历史数据”实为Local History快照、AutoSave的.bak文件和Auto Save Session.sublime_session三类独立产物,备份需分别处理且各有限制。

Sublime Text 本身不保存“历史数据”——没有编辑历史、修改时间线或自动版本快照。所谓“历史数据”,实际是三类独立产物:Local History 插件生成的快照、AutoSave 插件生成的 .bak 文件、以及 Sublime 自身写入的会话文件 Auto Save Session.sublime_session。它们存储位置、触发逻辑、恢复能力完全不同,混着备份反而容易漏掉关键项。
Local History 快照怎么备份才不丢?
Local History 插件在项目根目录下建 .sublime-history/ 文件夹,按时间戳存档(如 main.py.2026-05-25_18-12-04)。它只响应 Sublime 内部的保存动作,Git 拉取、命令行覆盖等外部变更不会触发。
- 必须保留
.sublime-history/在项目目录内——挪到项目外(比如统一移到 Dropbox 根目录),换机器或 Git 同步后路径失效,快照就找不到了 - 它不加密、不压缩、不校验,只是纯文本快照;别把它当长期归档用,重要中间状态该
git commit还得git commit - 双击快照文件可直接对比,右键菜单有
Restore;但恢复操作会覆盖当前文件内容,没弹窗确认 - 如果项目在 OneDrive / iCloud / 网络盘上,快照可能被同步服务临时锁定,导致生成失败且无报错——建议先关同步再测试
AutoSave 的 .bak 文件为什么经常“看不见”?
AutoSave 插件启用 backup_on_save 后,会在项目根目录下 .sublime-backup/ 里写 file.js.bak。但它不是“每次保存都留一份”,而是每次覆盖旧的 .bak,只保留最后一份。
- 配置必须进
Preferences → Package Settings → AutoSave → Settings改,不是往 User Settings 里硬加字段;最小有效配置是:{"backup_on_save": true,"auto_save_file": true} - 默认路径
.sublime-backup/需要项目目录有写权限;若项目在/System/、/usr/或 OneDrive 同步目录下,备份会静默失败(控制台无提示) -
backup_on_save和原生save_on_focus_lost不能共存——否则同一文件 1 秒内被写两次,Webpack 监听或日志轮转类场景容易卡死 - ST4(Build 4143+)需用最新版 AutoSave(作者 r-wood),老分支因 API 不兼容会导致
backup_on_save完全不触发
会话文件 Auto Save Session.sublime_session 能否手动备份?
这个文件记录的是窗口布局、打开的标签页、光标位置和未保存的 untitled 内容,路径随系统而异:%APPDATA%\Sublime Text\Local\Auto Save Session.sublime_session(Windows)、~/Library/Application Support/Sublime Text/Local/Auto Save Session.sublime_session(macOS)、~/.config/sublime-text-4/Local/Auto Save Session.sublime_session(Linux ST4)。
- 它只在正常退出(
File → Exit或菜单 Quit)时更新;若hot_exit设为true又被强杀进程,文件内容常为空对象{}或{"windows":[]},备份也没用 - 别用文本编辑器直接改它——JSON 结构错一个逗号,下次启动就加载失败,变成空窗口
- 想确保生效,User Settings 里要同时设:
"hot_exit": false,"remember_open_files": true,"restore_session_settings": true
- 崩溃后若看到
untitled标签页,立刻File → Save As,那是最后机会;等关掉再开,内容就真丢了
真正安全的备份,不是拷一个目录完事。Local History 快照依赖项目路径,AutoSave .bak 依赖写入权限和插件兼容性,会话文件依赖退出方式是否规范——三者任何一个环节断掉,你自以为的“历史”就只剩一半。最省心的做法:把项目本身纳入 Git,Local History 当临时回滚,Auto Save Session.sublime_session 仅作辅助,别让它承担主力。


















