Sublime崩溃后未保存内容可通过四种方式恢复:1.重启后立即Save As;2.解析Session.sublime_session中buffers.contents字段;3.打开Recovery目录下recovery-开头的临时文件;4.文件被覆盖但窗口仍开时启用always_prompt_for_file_reload并拒绝重载。

重启后没弹窗但标签页是Untitled,马上保存
Sublime 崩溃或强制退出后,只要 hot_exit 和 remember_open_files 没被关掉(默认就是 true),重启时多数不会弹窗,但会把未保存内容静默加载进新标签页,显示为 Untitled。这不是空标签,是真实缓存的内容。
这时别点关闭、别新建文件、别切到其他项目——任何干扰操作都可能触发缓冲区刷新或覆盖。立刻执行 File → Save As,把内容落盘。如果只恢复了一部分,反复按 Ctrl+Shift+T(Windows/Linux)或 Cmd+Shift+T(macOS)可逐个还原最近关闭的标签页。
手动解析 Session.sublime_session 中的 buffers.contents
这个文件是 JSON 格式,记录了所有打开文件的路径、光标位置,最关键的是未保存文件的完整文本就藏在 buffers 数组的 contents 字段里。它比 Recovery 目录更稳定,崩溃后往往完好无损。
操作前必须先彻底关闭 Sublime,否则写入会覆盖旧数据:
- Windows 路径:
C:\Users\你的用户名\AppData\Roaming\Sublime Text 3\Local\Session.sublime_session - macOS 路径:
~/Library/Application Support/Sublime Text 3/Local/Session.sublime_session - Linux 路径:
~/.config/sublime-text-3/Local/Session.sublime_session
用 VS Code 或记事本打开,搜索你记得的函数名、变量名或注释关键词。找到匹配项后,复制 "contents": "" 双引号内的内容——注意 \n 是换行,\" 是转义引号,粘贴后需手动还原格式。
直接打开 Recovery 目录里的 recovery- 开头文件
某些崩溃场景下,Sublime 会把未保存内容单独写成纯文本临时文件,比解析 JSON 更快、更干净。这些文件只在异常退出后生成,正常退出不会写入,而且不持久——下次崩溃可能被覆盖。
路径与 Session.sublime_session 同级,但进 Recovery 子目录:
- Windows:
C:\Users\你的用户名\AppData\Roaming\Sublime Text 3\Local\Recovery\ - macOS:
~/Library/Application Support/Sublime Text 3/Local\Recovery\ - Linux:
~/.config/sublime-text-3/Local/Recovery/
查找以 recovery- 开头、无扩展名或带 .tmp 的文件,用 Sublime 或任意文本编辑器直接打开,内容通常是可读源码。看到就马上复制,别等第二次崩溃。
文件被覆盖但 Sublime 窗口还开着,立刻触发 reload 提示
这是最易被忽略的“黄金窗口”:如果文件刚被外部命令(比如 adb pull、脚本重写)覆盖,而 Sublime 窗口仍处于激活状态但没自动刷新,此时修改配置启用 always_prompt_for_file_reload,再切回窗口,就能弹出 File has changed on disk, do you want to reload it? 对话框。
选 NO,然后立刻复制当前标签页里的原始代码——那是覆盖前最后缓存在内存里的版本。操作步骤:
- 关闭 Sublime
- 编辑
Packages/User/Preferences.sublime-settings,加入:"always_prompt_for_file_reload": true - 重启 Sublime,切到对应标签页,等待弹窗
这个方法依赖窗口未失焦、内存未被回收,动作慢一秒都可能失效。

















