便携版默认把临时交换文件写在Data/Local/目录下;该路径固定且不可通过session_path等配置项更改,唯一可行的替代方案是使用操作系统级符号链接替换Data/Local目录。

便携版默认把临时交换文件(.sublime-session)写在哪?
Sublime Text 便携版启动后,会在 Data/Local/ 目录下自动生成 Session.sublime_session 和 Auto Save.sublime_session 这类文件——它们就是编辑器的临时交换数据,包括未保存的文件列表、光标位置、折叠状态等。路径固定为:Data/Local/,不可通过设置项直接更改。
为什么不能用 "session_path" 或 "auto_save_path" 配置?
Sublime Text 的配置项里没有 session_path、auto_save_path 这类键;官方文档和源码中也从未暴露该路径的可配置接口。所有尝试在 Packages/User/Preferences.sublime-settings 里添加这类字段的行为都无效,会被忽略。
-
"session_path"不是合法配置项,加了也不起作用 -
"auto_save_file"是旧版插件用的字段,和 Sublime 自身会话机制无关 - 试图用
subl --data后再加额外参数指定 session 目录,命令行会报错或静默失败
真正可行的替代方案:符号链接 + 权限控制
如果必须把临时交换文件挪到其他盘(比如 SSD 空间紧张,想甩到 HDD 或 NAS),唯一稳定方式是用操作系统级符号链接替换 Data/Local 目录本身。
- 先彻底关闭 Sublime Text,确认
sublime_text.exe进程已退出 - 重命名原
Data/Local为Data/Local.bak - 在目标路径(如
D:\sublime-sessions\)新建空文件夹 - 用管理员权限执行:
mklink /J "D:\sublime-portable\Data\Local" "D:\sublime-sessions"(Windows) - macOS/Linux 用:
ln -s "/path/to/sessions" "Data/Local"
注意:Data/Local 必须是目录链接(/J 或 -s),不能是文件链接;且目标路径需有读写权限,否则 Sublime 启动时会静默降级回内存缓存,不生成 session 文件。
容易被忽略的副作用
符号链接方案看似干净,但有几个硬限制:
- 跨文件系统(如 NTFS → exFAT/U 盘)时,Windows 的
mklink /J可能失败,得换用mklink /D(但会失去部分原子性) - 某些杀毒软件或云同步工具会监控
Data/Local下的文件变更,符号链接可能触发误报或同步冲突 - 如果目标路径不可写(比如权限受限或磁盘满),Sublime 不报错,但会丢失所有未保存状态——连崩溃恢复都失效
真要追求极致便携和状态可靠,别动 Data/Local;它本来就是为便携设计的“单点可信存储”,挪走反而增加故障面。


















