必须同时设置"hot_exit": false和"remember_open_files": false,并删除session.sublime_session文件,否则即使配置正确仍会恢复旧文件;插件如projectmanager可能接管启动流程,且需确保sublime完全退出(包括托盘进程)后操作。

为什么改了 remember_open_files 还是加载旧文件
因为 remember_open_files 只是“要不要还原”的开关,不是“清空历史”的命令。只要磁盘上还存着 Session.sublime_session 文件,Sublime 启动时就会优先读它——哪怕你 JSON 里写的是 false,也照读不误。
常见错误现象包括:改完设置、保存、重启,结果第一个标签页还是昨天那个 README.md;或者只关了 remember_open_files,却留着 hot_exit: true,导致退出时悄悄拍快照,下次启动就有东西可恢复。
-
hot_exit: false→ 退出时不保存未关闭标签的状态(断掉源头) -
remember_open_files: false→ 启动时不尝试还原任何文件(关掉最终门禁) - 二者必须同时设为
false,缺一不可 -
restore_open_folders或open_files_in_new_window不影响是否恢复,只是排版逻辑,不用动
删哪个 Session.sublime_session 文件才有效
必须删对路径,且确保 Sublime 已完全退出(包括托盘进程),否则文件被锁住,或重启后立刻被重写。
Windows 路径:%APPDATA%\Sublime Text 3\Local\Session.sublime_session
macOS 路径:~/Library/Application Support/Sublime Text 3/Local/Session.sublime_session
Linux 路径:~/.config/sublime-text-3/Local/Session.sublime_session
- 顺手也删掉同目录下的
Auto Save Session.sublime_session,它是 Sublime 定期生成的快照,也可能被误读 - 别删错位置:比如只删了
Packages/User/下的配置,或Projects/目录里的缓存,那没用 - 删之前确认 Sublime 已彻底退出:Windows 看右下角托盘图标是否消失;macOS 看菜单栏图标是否没了;Linux 检查
ps aux | grep sublime
插件可能绕过所有原生设置
如果你装了 ProjectManager、QuickOpenProjects 这类项目管理插件,它们会在启动阶段主动拦截流程,用自己的逻辑加载最近项目——这时候 remember_open_files 就完全失效了。
- 检查插件设置里是否有
on_startup_load_last_project、restore_on_startup或类似选项 - 临时验证方法:菜单栏 → Preferences → Package Control → Disable Package,禁用可疑插件后重启
- 部分插件(如
SideBarEnhancements)不干扰启动,但ProjectManager默认就开启自动加载,容易被忽略
subl --new-window 是最干净的临时方案
这个命令行参数直接跳过会话加载流程,不读 Session.sublime_session,不查插件钩子,也不管你 JSON 里写了什么。适合隐私场景、演示环境,或快速验证配置是否真生效。
macOS/Linux:subl --new-window
Windows:"C:\Program Files\Sublime Text\subl.exe" --new-window(路径含空格必须加引号)
- 注意拼写:
--new-window是唯一有效写法;--new或-n都无效,还会弹黑框报错 - 它只影响当次启动,不修改任何配置或文件
- ST4 全面支持;ST3 部分旧版可能不识别,建议先运行
subl --help或查看 About Sublime Text 确认版本
真正容易被忽略的是:配置改对 + 进程关净 + 文件删准,三者缺一不可。少一个,Sublime 就可能在你以为干净的时候,默默塞回一个旧标签页。











