sublime text 关闭最后一个标签页时自动退出是默认行为,将 "close_windows_when_empty": false 添加到用户设置中即可禁用。需确保修改的是用户配置文件且拼写正确,保存后立即生效。

Sublime Text 关闭最后一个标签页时自动退出?这是默认行为
Sublime Text 2/3/4 默认会在关闭最后一个标签页后直接退出程序,不是 bug,是设计如此。如果你习惯多窗口工作流、或常开单文件调试,这个行为会打断节奏。
close_windows_when_empty 设为 false 即可禁用自动退出
这个设置控制「窗口内无标签页时是否关闭窗口」,间接决定程序是否退出。关键在于:它作用于「窗口」而非「标签页」,而 Sublime 的「最后一个标签页」关闭后,若该窗口也变为空,就会触发退出逻辑。
- 打开
Preferences → Settings(左右分屏,右侧是用户配置) - 在右侧面板中添加或修改这一行:
"close_windows_when_empty": false
- 保存后立即生效,无需重启
- 注意:该设置对所有窗口生效,不影响新建窗口或已打开的其他窗口
为什么设了没用?检查是否被覆盖或拼写错误
常见失效原因不是设置本身无效,而是被更高优先级配置覆盖,或键名写错:
- 确认你改的是 用户设置(
Preferences.sublime-settings),不是默认设置或插件设置 - 检查拼写:
close_windows_when_empty不是close_window_when_empty或close_windows_on_empty - 如果用了
Apply to Project(项目专属设置),确保当前是项目内打开的文件,否则不生效 - 某些插件(如
Origami或SideBarEnhancements)可能监听关闭事件并主动调用exit,此时需单独排查插件行为
替代方案:用快捷键强制保留空窗口
如果不想全局关闭 close_windows_when_empty(比如你偶尔确实想靠关空窗来退出),可以换种思路——让窗口“不为空”:
- 关闭最后一个标签页前,先按
Ctrl+Shift+N(Windows/Linux)或Cmd+Shift+N(macOS)新建一个空标签页,再关闭原标签页 - 更省事的做法:绑定一个自定义命令到快捷键,先新建再关闭,避免手动两步操作
- 示例快捷键绑定(添加到
Preferences → Key Bindings用户部分):[{"keys": ["ctrl+alt+w"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete All Comments.sublime-macro"}}]——但注意,Sublime 不自带“关闭当前页但留空窗”的原子命令,真正可靠的方式仍是设close_windows_when_empty
最稳的解法就一行配置,但很多人卡在改错了文件位置或拼错了键名。空窗口本身不占资源,设成 false 后基本没副作用;真要退出,还是用 Ctrl+Q 或菜单更明确。










