必须同时启用"save_on_focus_lost": true和"hot_exit": "always"才能彻底禁用关窗口时的“是否保存”弹窗:前者确保失焦时真实写入磁盘,后者跳过退出确认,二者分工缺一不可。

关窗口时弹“是否保存”怎么彻底禁用?
必须同时启用 hot_exit 和 save_on_focus_lost,缺一不可。只开 hot_exit 会让未保存内容进会话、下次启动还标星号,关单个 tab 依然弹窗;只开 save_on_focus_lost 能落盘但退出时仍会问——它俩是分工关系:save_on_focus_lost 负责真实写入磁盘,hot_exit 负责跳过退出确认。
- 在
Preferences → Settings用户设置中加两行:"save_on_focus_lost": true、"hot_exit": "always" - 别写
true给hot_exit,它等价于"always",但语义模糊;多人共用环境建议用"only_on_quit" - 设完立刻生效,不用重启;但如果之前已触发过未保存弹窗,状态缓存可能卡住,重启一次更稳
关单个文件时不弹“Save changes?”怎么关?
这个行为由 prompt_on_unsaved_change 控制,但它不是全局开关,而是按语法类型独立生效。想对所有文件统一关闭,得改用户级设置;但后果严重:所有未保存修改都会被静默丢弃,连误删都救不回来。
- 临时关(推荐):当前文件里按
Ctrl+Shift+P→ 输入Preferences: Settings – Syntax Specific→ 加"prompt_on_unsaved_change": false - 全局关(慎用):在用户设置里加同一行,但务必清楚这是“放弃所有未保存内容”的开关,不是“防手滑”而是“放任手滑”
- 注意:这和关窗口弹窗无关,
exit_prompt才管那个;设了prompt_on_unsaved_change不影响exit_prompt行为
为什么设了还是弹窗?先查这三处
配置失效通常不是写错了,而是被其他机制覆盖或干扰。
- 检查用户设置里有没有重复或冲突项:比如同时存在
"save_on_focus_lost": true和插件 AutoSave 的auto_save_on_focus_lost,二者共存会导致大文件卡顿甚至重复写盘 - 确认没装 AutoSave 插件:按
Ctrl+Shift+P→Package Control: List Packages查有没有AutoSave;有就禁用或卸载,它会干扰原生逻辑 - 验证文件是否可写:如果文件正被
tail -f读着、或路径含中文/空格/括号、或只是untitled新建页,save_on_focus_lost会直接跳过——这不是失效,是设计
想“按 Ctrl+W 就干净关掉”,不能只靠设置
Sublime 默认的 Ctrl+W 是“关闭当前标签页”,不是“关闭并丢弃修改”。即使关掉所有提示,tab 上的星号还在,快捷键也不会强制丢弃内容。
-
close_file命令不支持force参数,网上流传的{"keys": ["ctrl+w"], "command": "close_file", "args": {"force": true}}是无效写法 - 真要实现“一键丢弃”,得用组合命令:先
revert(丢弃修改),再close_file;可自定义快捷键绑定这两个动作 - 更稳妥的做法是养成习惯:关文件前先看一眼状态栏有没有
read only或星号;有星号就手动Ctrl+S或Ctrl+Shift+P→Revert
save_on_focus_lost 是唯一写入磁盘的防线,而 hot_exit 只是让它“安静退场”。其他所有带 auto_save 字样的字段,官方根本不认,写了等于埋雷。


















