退出时不弹保存提示需同时启用 hot_exit 和 save_on_focus_lost:前者控制退出时静默,后者实现失焦自动保存,二者协同才能彻底消除弹窗。

退出时不弹保存提示,靠的是 hot_exit + save_on_focus_lost 协同生效
Sublime 默认关文件或退出时,只要内容有修改就会一个个弹“是否保存”——这不是 bug,是设计。想彻底关掉这些弹窗,不能只开一个配置,必须两个一起配:save_on_focus_lost 负责“失焦即存”,hot_exit 负责“关时不问”。二者配合,才能让退出真正静默。
常见错误是只开 hot_exit 却没开自动保存:结果每次关软件,未保存的修改全被记进会话,下次启动又原样弹出来——看似没丢,实则把确认压力后移了,反而更烦。
- 打开
Preferences → Settings,确保右侧是Settings – User(标题带 “User”) - 在大括号
{}内添加两行(注意末尾逗号):{ "save_on_focus_lost": true, "hot_exit": true } - 保存后无需重启,但若之前已触发过未保存弹窗,建议重启一次清空状态缓存
hot_exit 的三种模式,别用错场景
hot_exit 不只是 true/false 二选一。它实际支持字符串值:"always"、"only_on_quit"、"disabled"。多数人直接写 true,其实是等价于 "always"——也就是关窗口、关标签、按 Ctrl+Q 全部跳过确认。
但有些场景你反而需要“关窗口时提醒,仅退出时静默”,那就得用 "only_on_quit":
- 多人共用一台电脑调试时,误关单个窗口可能丢临时改的配置,这时设为
"only_on_quit"更安全 - 想彻底禁用热退出(比如写敏感脚本,绝不允许任何未保存内容残留),必须明确写
"disabled",而不是false(后者在某些旧版里行为不一致) -
"always"模式下,如果文件被其他程序占用导致自动保存失败,hot_exit仍会把未保存内容记入会话——所以它本质是“尽力而为”,不是“强一致性保障”
会话恢复失败?先查 Session.sublime_session 文件是否存在
即使开了 hot_exit 和 remember_open_files,下次启动仍是空白页,大概率是会话快照文件丢了。Sublime 把上次状态存在本地固定路径,不是内存里一存了事:
- Windows:
C:\Users\你的用户名\AppData\Roaming\Sublime Text\Local\Session.sublime_session - macOS:
~/Library/Application Support/Sublime Text/Local/Session.sublime_session - Linux:
~/.config/sublime-text/Local/Session.sublime_session
这个文件一旦被清理软件删掉、或系统异常断电损坏,就无法恢复。应急办法是去同一目录找 Auto Save Session.sublime_session——它是 Sublime 定期备份的副本,重命名为 Session.sublime_session 后重启即可。
要“改完就存”,save_on_focus_lost 不够用,得上 AutoSave 插件
save_on_focus_lost 只在你切出 Sublime 时触发一次保存,适合写文档、改配置这类节奏慢的场景。但如果你边写代码边频繁切终端看日志、跑测试,中间可能多次失焦又切回,它不会重复保存——也就意味着最后一次修改到下一次失焦前,仍有丢失风险。
这时候就得插件补位:
- 装好 Package Control 后,命令面板输入
Package Control: Install Package,搜AutoSave - 在用户设置中加:
{ "auto_save": true, "auto_save_delay_in_seconds": 2 } - 它监听编辑事件,2 秒内无新输入就落盘,比失焦更及时;且不受窗口焦点限制,哪怕你一直盯着 Sublime 写,它也照样存
真正容易被忽略的一点:所有这些设置都只作用于当前用户配置,不影响系统级默认值;而且 JSON 格式容错极低——少一个英文逗号、引号不成对,整个设置就失效,还不会报错,只会默默退回到默认行为。改完务必检查语法,再 Ctrl+S 保存。










