能找回误删的未保存代码的前提是sublime未关闭或刚崩溃且缓存未被覆盖;优先检查重启后出现的“untitled”标签页,其次尝试ctrl+shift+t还原关闭的标签页,再手动解析session.sublime_session文件或local/recovery/下的临时文件。

误删的未保存代码,Sublime 本身不记录编辑步骤,Ctrl+Z 撤销栈只存在于当前会话内存里——关掉标签页或重启后就清空了。能找回的前提只有一个:你没关 Sublime,或者它刚崩溃过且缓存还没被覆盖。
重启后有没有“Untitled”标签页?先看这个
这是最快、最常有效的路径。Sublime 默认开启 hot_exit 和 remember_open_files,异常退出后重启,未保存内容通常会加载成 Untitled 标签页(不弹窗、不提示,静默加载)。
- 打开 Sublime 后立刻扫一遍所有标签页,找标题为
Untitled或类似名称的页 - 点进去确认是不是你要的内容,是的话马上执行
File → Save As - 如果只恢复了一部分,反复按
Ctrl+Shift+T(Windows/Linux)或Cmd+Shift+T(macOS),它会逐个还原最近关闭的标签页 - 如果根本没出现
Untitled,说明缓存已被覆盖,或你上次是正常退出(不是崩溃/强制杀进程)
手动挖 Session.sublime_session 文件
这个 JSON 文件存着所有打开文件的完整文本快照,包括未保存的 contents 字段。但它只在 Sublime 异常退出后保留,且每次重启都可能被新会话覆盖。
- 必须先完全退出 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 或记事本打开,搜索你记得的变量名、函数名或注释关键词
- 定位到
"buffers": [ ... ]区域,找"contents": "..."或"input": "..."字段,复制双引号内内容(注意\n是换行,\"是转义引号)
查 Local/Recovery/ 目录里的纯文本临时文件
比 Session.sublime_session 更原始、更易读——某些崩溃场景下,Sublime 会把未保存内容直接 dump 成纯文本文件,不包 JSON 结构。
- 路径和上面 Session 文件同级,进
Local/Recovery/子目录 - 找以
recovery-开头、无扩展名或带.tmp的文件 - 直接用 Sublime 打开,内容通常是可读源码,不需要解析
- 注意:该目录只在异常退出后生成,正常退出不会写入;而且它不持久,下次崩溃可能被覆盖
最容易被忽略的一点:Local History 插件对未保存文件完全无效——它只对已保存、有确定路径的文件生成快照。误删未保存内容,只能靠崩溃缓存机制,而不是“历史版本”。动作越慢,缓存被覆盖的概率越高。











