Sublime Text 唯一真正生效的自动保存是原生 save_on_focus_lost: true,其他 auto_save 类配置无效且可能干扰插件;失焦即存,不支持空闲延迟保存,后者需安装 AutoSave 插件并禁用原生选项。

Sublime Text 默认不自动保存,关掉窗口前没按 Ctrl+S 就真丢了——这不是 bug,是设计。防丢最稳的路只有一条:用原生 save_on_focus_lost,其他所有带 auto_save 字样的配置项(比如 auto_save、auto_save_interval)官方根本不认,加了等于白加,还可能干扰插件。
怎么开启真正生效的自动保存(失焦即存)
这是唯一零依赖、写入磁盘、开箱即用的方案,不需要装插件,也不需要重启。
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置,确保编辑的是右侧「User Settings」 - 在花括号内添加一行:
"save_on_focus_lost": true,注意逗号位置和引号闭合 - 按
Ctrl+S保存该设置文件,立即生效
它只在「整个 Sublime 窗口失焦」时触发:比如你切到终端、浏览器、桌面,甚至另一个 Sublime 窗口——但仅在同一个窗口内切换 tab 不算。未改动、只读、未命名(untitled)文件不会被保存,这是设计行为,不是失效。
为什么别往用户设置里硬塞 auto_save 类字段
网上大量教程写的 "auto_save": true、"auto_save_delay_in_seconds": 1、"auto_save_interval": 60 等字段,在 Sublime 官方代码中根本不存在。它们不会触发任何保存逻辑,反而会埋下隐患:
- Sublime 解析器会静默忽略这些字段,但 AutoSave 插件可能误读为“原生已启用”,从而禁用自身关键逻辑
- 不同拼写混用(
auto_save_delay_ms/auto_save_delay_milliseconds/auto_save_delay_in_ms)在 v4.1+ 版本中已部分失效,升级后突然不工作 - 哪怕看起来“存了”,也极可能是插件在兜底,这种不可控依赖迟早出问题
想空闲几秒就保存?必须关掉 save_on_focus_lost 再装 AutoSave 插件
原生机制不支持“输入停顿后保存”,这个需求只能靠插件,但二者互斥,同时开启会导致重复写盘、I/O 卡顿,甚至在编辑日志或被外部进程读取的大文件时引发冲突。
- 先在 User Settings 中删掉或注释掉
"save_on_focus_lost": true - 按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜索安装AutoSave(作者 randy3k,v4.1+) - 进
Preferences → Package Settings → AutoSave → Settings – User,写入最小可用配置:{ "auto_save_on_idle": true, "auto_save_delay_milliseconds": 3000 }
auto_save_delay_milliseconds 是唯一有效的延迟字段;设太小(如 500)容易边打字边保存,UI 卡顿;对几百 MB 的 SQL 或日志文件,建议 ≥3000。新建的 untitled 文件默认不保存,得先按 Ctrl+S 命名一次。
路径含中文、空格或括号时保存失败?先换纯英文路径验证
某些 Sublime 4 版本的 AutoSave 插件在处理非 ASCII 路径时会跳过保存,这不是权限问题,而是插件内部路径解析逻辑的限制。
- 把项目移到类似
C:/dev/project/这样的纯英文路径下测试是否恢复生效 - 如果 OK,说明是路径字符导致;暂时避免在中文路径下依赖自动保存
- Git 仓库中被
.gitignore掩盖的临时文件,插件也可能跳过,属正常行为
真正防丢不能只靠自动保存——hot_exit 和 remember_open_files 才是崩溃/断电后内容能回来的最后一道保险,这两个选项默认开启,别关。

















