能恢复,但仅限当前会话中最后一次关闭的固化标签页;需手动绑定Ctrl+Shift+T到reopen_last_closed_file命令、确保焦点在编辑区、排除预览标签与插件冲突,且不支持多级回溯或跨会话恢复。

Sublime Text 没有“最近关闭的窗口”概念,它不管理多个独立窗口的关闭历史;所谓“恢复窗口”,实际是恢复会话(session)——即上次退出时所有打开的标签页、光标位置、折叠状态等。这和浏览器的“恢复关闭的窗口”完全不同,不能按时间倒序逐个还原窗口,只能整体加载上一次会话。
Ctrl+Shift+T 为什么按了没反应?
这不是快捷键坏了,而是根本没绑定命令,或触发条件不满足:
-
reopen_last_closed_file命令默认没有快捷键,必须手动加到Preferences → Key Bindings的用户设置里:{"keys": ["ctrl+shift+t"], "command": "reopen_last_closed_file"} - macOS 用户写
"cmd+shift+t"更稳妥,"super+shift+t"在某些版本下可能不生效 - 焦点不在编辑区(比如光标停在侧边栏、命令面板、搜索框),
Ctrl+Shift+T会静默失败——先按Esc清掉浮层再试 - 关掉的是预览标签(斜体显示、双击侧边栏直接打开但未按
Enter固化),它不进恢复栈 - 插件如
SideBarEnhancements或Origami可能劫持该快捷键,检查键绑定里是否有多条ctrl+shift+t绑定
为什么只能恢复一个文件,连续按也没用?
reopen_last_closed_file 不是栈,而是一个单快照覆盖机制:
- 关掉
A.js→ 记录A.js;再关掉B.py→ 覆盖为B.py;A.js永久丢失 - 它不保存历史队列,也不支持指定恢复某次关闭,更不能跨窗口回溯
- 未保存的临时文件(标题带
*)默认不记录,防止误恢复脏数据 - 即使你刚关掉三个文件,
Ctrl+Shift+T按三次也只恢复最后一次关的那个——因为前两次记录已被覆盖
真正能找回“上次所有标签页”的唯一方式
靠会话(session)机制,不是撤销关闭:
- 必须同时开启两个设置:
"remember_open_files": true和"hot_exit": true - 退出 Sublime 时要用
Ctrl+Q或点击窗口关闭按钮,不能强制杀进程(如任务管理器结束任务) - 会话文件存于
Local/Session.sublime_session,异常退出后可能损坏,可尝试从Auto Save Session.sublime_session恢复 -
"hot_exit": false是常见坑点——关得越“干净”,越丢会话 - 重启后恢复的是整个会话,不是某个窗口;Sublime 不区分“窗口A关了”还是“窗口B关了”,只认最后一次正常退出的状态
容易被忽略的其实是预览模式和焦点:双击侧边栏打开的文件,默认就是预览态,不固化就关掉,等于没存在过;而 Ctrl+P 输入 most recently 看到的只是“打开过”的文件列表,不是“关过”的——如果那个文件是首次打开、没编辑、没保存就关了,它甚至不会出现在那里。


















