sublime text崩溃后未保存文件可找回,关键在于及时从session.sublime_session的buffers.contents字段或local/recovery/下的recovery-文件中提取内容,需立即操作避免缓存覆盖。

Sublime Text 意外关闭或崩溃后,未保存的文件大概率能找回——前提是没清空配置目录、没反复重启覆盖缓存,且你动作够快。关键不是“能不能”,而是“在哪找”和“怎么捞”。
重启后有没有 Untitled 标签页?立刻保存
Sublime 默认开启 hot_exit 和 remember_open_files,异常退出后重启,多数情况不会弹窗,但会静默加载未保存内容到新标签页,显示为 Untitled。
- 别点关闭,也别切走,马上执行
File → Save As保存所有Untitled标签页 - 如果只恢复了部分文件,反复按
Ctrl+Shift+T(Windows/Linux)或Cmd+Shift+T(macOS),它会逐个还原最近关闭的标签页,不是只限一次 - 若标签页标题是灰色的、带路径但内容为空,说明文件已加载但缓冲区未刷新,尝试点击标签再按
Ctrl+A看是否选中全文
手动打开 Session.sublime_session 提取 contents
这个 JSON 文件存着所有打开文件的路径、光标位置,最关键的是未保存文件的完整文本,在 buffers 数组的 contents 字段里。它比 Recovery 更可靠,因为崩溃时 Session 文件往往已写入完成。
- 务必先关掉 Sublime Text,避免新操作覆盖旧缓存
- 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是换行,\"是转义引号,粘贴后需手动还原格式) - 有些版本用的是
"input": ""字段,别只盯contents
检查 Local/Recovery/ 下的 recovery- 开头文件
某些崩溃场景下(比如断电、杀进程太猛),Sublime 会把未保存内容单独 dump 到 Recovery 目录,文件名通常是 recovery-xxx,无扩展名或带 .tmp,内容是纯文本,不用解析 JSON。
- 路径和
Session.sublime_session同级:进Local/Recovery/子目录即可 - 文件可能很多,优先找修改时间最接近崩溃时刻的(Windows 资源管理器按“修改日期”排序,macOS 用
ls -lt) - 直接用 Sublime 自身打开这些文件,如果内容可读,立刻
File → Save As;别指望文件名能告诉你属于哪个项目——它只按时间戳和随机字符串命名,靠内容关键词确认 - 该目录只在异常退出后生成,正常退出不会写入;而且它不持久,下次崩溃可能被覆盖,所以看到就马上复制
真正容易被忽略的是:恢复失败往往不是因为文件丢了,而是缓存被覆盖或误操作——hot_exit 被设为 false、反复重启 Sublime、或手动清过整个 AppData\Roaming\Sublime Text 3\ 目录。一旦这些发生,Session 和 Recovery 都可能被覆盖,再难挽回。











