sublime text 自动保存恢复机制在 preferences → settings 中启用,需设置 "hot_exit": true(默认开启)以保留未保存内容到本地缓存,并配合 "remember_open_files": true 确保重启后自动重开所有标签页;核心缓存文件为 session.sublime_session,位于系统特定 local 目录下。

Sublime Text 自动保存恢复机制在哪启用?
Sublime Text 默认不自动保存文件,但内置了会话(session)和缓存(swap)机制,只要没彻底关闭程序或崩溃后手动删掉缓存,未保存的修改大概率还在。关键不是“恢复”,而是“别让缓存被清掉”。
-
Preferences → Settings中确认"hot_exit": true(默认开启),它让 Sublime 在退出时不强制保存,而是把未保存内容写入本地缓存 -
"remember_open_files": true(也默认开启)确保下次启动时重开上次所有标签页,包括未保存的临时文件 - 如果关机前是正常退出(非 kill 进程 / 强制断电),重启 Sublime 后直接看到带
Untitled或Unsaved标签的窗口,内容就是你最后敲的
找不到未保存文件?检查 Session 文件位置
Sublime 的会话数据存在本地 Session.sublime_session 文件里,不是靠内存维持的。一旦这个文件损坏或被清理,恢复就失效。
- Windows 路径:
%APPDATA%\Sublime Text\Packages\User\Local\ - macOS 路径:
~/Library/Application Support/Sublime Text/Local/ - Linux 路径:
~/.config/sublime-text/Local/ - 该目录下可能有多个
*.sublime_session文件,最新修改时间最接近你崩溃/异常退出时刻的那个,用文本编辑器打开能直接看到 JSON 格式的文件路径、内容快照(base64 编码)、光标位置等 - 若发现
"content": "..."字段非空,说明内容确实被缓存了——复制出来解码即可(可用 Python 一行命令:python3 -c "import base64; print(base64.b64decode('xxx').decode())")
为什么有时重启后空白?常见破坏缓存的操作
不是所有“关掉再开”都能找回内容。以下行为会主动丢弃未保存状态:
- 在设置里手动设为
"hot_exit": false后退出,Sublime 会直接丢弃未保存内容(不写缓存) - 使用
File → Exit(Windows/Linux)或Sublime Text → Quit Sublime Text(macOS)以外的方式强制终止进程,比如任务管理器杀进程、kill -9、系统断电 - 手动清空
Local/目录,或某些清理软件(如 CCleaner)把*.sublime_session当垃圾删了 - 升级 Sublime 后首次启动,旧版 session 文件可能被忽略(尤其跨大版本,如 3 → 4)
真正防丢:用 AutoSave 插件 + Git 快照
依赖 session 恢复是被动兜底,日常开发应该主动拦截丢失风险。
- 装
AutoSave插件(Package Control 可搜到),配置"auto_save_delay_in_seconds": 1,1 秒无操作即写入磁盘(注意:它只保存已命名文件,Untitled窗口仍需手动命名才生效) - 对重要项目,开终端执行
git init后,用git add -A && git commit -m "wip"做轻量快照——哪怕没推远程,本地 Git 也能救回任意历史状态 - 避免长期开着
Untitled标签写几百行再命名:Sublime 对无名缓冲区的缓存更脆弱,建议新建即Ctrl+S命名(哪怕暂存为tmp.py)
Session 缓存不是备份,它只是进程意外中断时的临时快照;真正的防线是你是否让文件有了真实路径、是否触发了磁盘写入、是否纳入了版本控制。别等崩溃后翻 Local/ 目录,先确保 hot_exit 开着、AutoSave 装着、git commit 按着。











