Sublime如何记住上次关闭时打开的文件和窗口状态? (hot_exit设置)
发布时间 - 2026-02-02 00:00:00 点击率:次Sublime Text 默认启用 hot_exit,但需同时设置 exit_timeout 为10、remember_open_files 为true才能完整恢复上次状态;macOS用Cmd+Q、Windows用Alt+F4退出才生效,且仅恢复退出前仍打开的文件。
Sublime Text 默认就支持记住上次关闭时的文件和窗口状态,关键在于 hot_exit 设置是否启用——它不是“需要手动开启的功能”,而是默认开启、但可能被意外关掉的开关。
确认 hot_exit 是否已启用
这个设置控制 Sublime 是否在退出时不真正关闭编辑器进程(类似“挂起”),从而保留所有打开的标签页、光标位置、未保存的修改等。如果关闭后重开发现一切清空,大概率是它被设成了 false。
检查方式:
- 菜单栏 → Preferences → Settings
- 在右侧用户设置(User Settings)中查找
"hot_exit" - 如果没有,就手动加一行;如果值是
false,改成true
{
"hot_exit": true
}
hot_exit 依赖于 exit_timeout 和 remember_open_files
单独设 hot_exit 为 true 不够,它需要两个配套行为配合才能完整还原上次状态:
-
exit_timeout:决定 Sublime 在收到退出指令后等待多久才真正终止进程。默认是0(立即退出),这会让hot_exit失效。建议设为10(单位毫秒,足够写入状态) -
remember_open_files:控制是否在下次启动时自动恢复上次打开的文件列表。必须为true,否则即使hot_exit生效,重启后也只看到空窗口
三者要一起配齐:
{
"hot_exit": true,
"exit_timeout": 10,
"remember_open_files": true
}
Windows/macOS/Linux 下的行为差异与常见失效原因
不同系统对“退出”的定义不同,容易导致 hot_exit 看似没生效:
- macOS 上用
Cmd+Q是标准退出,hot_exit正常工作;但单纯关掉最后一个窗口(Cmd+W)不会触发保存状态,需确保是真正退出应用 - Windows 上任务栏右键 → “关闭窗口” ≠ 退出程序,可能绕过
hot_exit流程;务必用Alt+F4或菜单 File → Exit - Linux(尤其是 GNOME)有时会拦截退出信号,可尝试在终端运行
subl --command "exit"测试是否能触发热退出 - 插件冲突:某些插件(如
AutoSave、ProjectManager)会覆盖窗口生命周期逻辑,建议临时禁用插件验证
恢复失败时先检查 Session 文件
Sublime 实际把状态存在本地 Session.sublime_session 文件里,路径因系统而异:
- macOS:
~/Library/Application Support/Sublime Text/Local/Session.sublime_session - Windows:
%APPDATA%\Sublime Text\Local\Session.sublime_session - Linux:
~/.co
nfig/sublime-text/Local/Session.sublime_session
如果该文件为空、权限错误或被杀毒软件锁定,hot_exit 就无法写入或读取。可手动备份此文件,或删掉它让 Sublime 重建(注意:会丢失当前未保存的热退出状态)。
真正容易被忽略的是:它不恢复“已关闭但未保存的文件”——只恢复退出前仍处于打开状态的标签页。如果你习惯先关掉所有标签再退出,那重启后自然什么都没有。
# linux
# sublime
# windows
# 杀毒软件
# app
# session
# mac
# macos
# win
# cos
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在万网ECS上快速搭建专属网站?
如何为不同团队 ID 动态生成多个“认领值班”按钮
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
北京的网站制作公司有哪些,哪个视频网站最好?
如何确认建站备案号应放置的具体位置?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
Laravel怎么实现验证码(Captcha)功能
Java垃圾回收器的方法和原理总结
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
如何在万网开始建站?分步指南解析
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
如何构建满足综合性能需求的优质建站方案?
如何用AI帮你把自己的生活经历写成一个有趣的故事?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何撰写建站申请书?关键要点有哪些?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
C#如何调用原生C++ COM对象详解
Laravel如何使用Telescope进行调试?(安装和使用教程)
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
JavaScript中的标签模板是什么_它如何扩展字符串功能
如何快速搭建FTP站点实现文件共享?
Laravel模型事件有哪些_Laravel Model Event生命周期详解
历史网站制作软件,华为如何找回被删除的网站?
EditPlus 正则表达式 实战(3)
JavaScript实现Fly Bird小游戏
Swift中循环语句中的转移语句 break 和 continue
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
Python正则表达式进阶教程_复杂匹配与分组替换解析
大连 网站制作,大连天途有线官网?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
java获取注册ip实例
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
JavaScript常见的五种数组去重的方式
node.js报错:Cannot find module 'ejs'的解决办法
网站建设保证美观性,需要考虑的几点问题!
JavaScript Ajax实现异步通信
如何在七牛云存储上搭建网站并设置自定义域名?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
如何在云指建站中生成FTP站点?
Laravel如何使用Eloquent进行子查询
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
再谈Python中的字符串与字符编码(推荐)
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel怎么实现模型属性的自动加密


