Sublime启动后不恢复上次文件,最常见原因是hot_exit设为true导致异常退出时会话未更新;需确保hot_exit为false、remember_open_files为true、restore_session_settings为true,并正确退出。

能记住,但必须同时满足三个条件:配置没被改错、退出方式正确、会话文件没损坏。很多人以为开个开关就行,结果重启还是空窗口——问题几乎都出在 hot_exit 被设成 true,或者用任务管理器强杀进程导致会话根本没写入。
为什么 Sublime 启动后不恢复上次打开的文件?
最常见原因是 hot_exit 设成了 true。它会让 Sublime 表面退出、实则后台驻留;一旦异常崩溃或被强制杀掉,Auto Save Session.sublime_session 就不会更新,下次启动只能加载默认空状态。
-
remember_open_files必须为true(默认就是),否则连文件列表都不记 -
hot_exit建议设为false(默认也是),确保退出时真正落盘写入会话 -
restore_session_settings推荐加上并设为true,否则窗口布局、分屏、折叠状态等可能丢失 - 不能只关窗口留托盘图标——Windows/Linux 要走
File → Exit,macOS 要关掉所有窗口
会话文件在哪?怎么确认它是否有效?
Sublime 全靠一个 JSON 文件维持状态:Local/Auto Save Session.sublime_session。路径因系统而异,且 Sublime Text 4 的路径里是 sublime-text-4(短横线,不是下划线):
- Linux:
~/.config/sublime-text-4/Local/Auto Save Session.sublime_session - Windows:
%APPDATA%\Sublime Text\Local\Auto Save Session.sublime_session - macOS:
~/Library/Application Support/Sublime Text/Local/Auto Save Session.sublime_session
如果这个文件存在但内容是空对象 {} 或只有 {"windows":[]},说明上次退出失败,大概率是 hot_exit: true + 异常退出导致的。
Ctrl+Shift+T 恢复关闭标签页为啥有时没反应?
这个快捷键调用的是 reopen_last_closed_file 命令,但它和“记住上次关闭的文件”是两套机制:前者只在当前进程内有效,后者依赖会话文件。
- 默认不绑定快捷键,必须手动加到用户键绑定里:
{"keys": ["ctrl+shift+t"], "command": "reopen_last_closed_file"} - 预览模式下点击文件名产生的临时标签页,关闭后不进恢复栈——双击打开才计入
- 焦点不在编辑区(比如正开着命令面板)也能触发,不用切回代码区
- 连续按可逐个回溯,但中间只要再关一个标签页,前面的就会被覆盖
意外崩溃后还能找回未保存的内容吗?
能,但要看运气和配置。如果 hot_exit 是 true 且进程没被彻底杀掉,重启后常能看到 Untitled 标签页,里面就是未保存的原始内容——立刻点 File → Save As 保存。
更稳妥的做法是提前备份会话文件:关机前手动复制一份 Auto Save Session.sublime_session 到别处。万一崩溃后文件损坏,可以把备份重命名为 Session.sublime_session 放回原目录,再重启 Sublime —— 它会优先读这个文件。
真正容易被忽略的点是:会话恢复不是“自动生效”的魔法,而是由一次干净退出 + 一个完好 JSON 文件 + 一组没冲突的布尔值共同决定的。少一个环节,整个链路就断了。

















