sublime text 唯一可靠的原生自动保存是 save_on_focus_lost: true,仅在窗口失焦时保存已修改可写文件;禁用无效的 auto_save 类字段,需用 autosave 插件实现空闲自动保存。

Sublime Text 没有“实时保存”——所谓“一改就存”是错觉,官方从未实现该机制;真正可靠、零风险的自动保存只有两种路径:原生 save_on_focus_lost(推荐绝大多数人用),或插件 AutoSave(仅当明确需要空闲触发时才选)。
怎么用原生 save_on_focus_lost 防丢
这是 Sublime 唯一内置、无需插件、写入磁盘的真实保存逻辑。它只在你点击外部窗口(比如终端、浏览器、桌面,甚至另一个 Sublime 窗口)时,对当前已修改且可写入的文件执行一次保存。
- 未改动的文件不写盘,只读文件会跳过(不静默覆盖),新建未命名文件(
untitled)不触发——全是设计行为,不是 bug - 打开
Preferences → Settings,确保编辑右侧「User Settings」 - 在花括号
{}内添加一行:"save_on_focus_lost": true,注意英文双引号、逗号位置和闭合 - 按
Ctrl + S(Windows/Linux)或Cmd + S(macOS)保存设置文件,立刻生效,无需重启 - 验证:输几行字 → 点击桌面 → 切回 Sublime → 查看文件修改时间是否更新
为什么别碰 auto_save、auto_save_interval 这类字段
这些键名在 Sublime 官方源码中根本不存在。加了不仅不生效,还可能干扰插件行为。
-
"auto_save": true、"auto_save_delay_in_seconds": 1、"auto_save_interval": 60全部无效,Sublime 解析器直接忽略 - 某些插件(如
AutoSave)会误读这些字段,以为“原生 auto_save 已启用”,从而禁用自身关键逻辑 - 不同拼写混用(
auto_save_delay_ms/auto_save_delay_milliseconds/auto_save_delay_in_ms)容易在升级后突然失效 - 如果设置文件语法出错(比如少逗号、引号没闭合),整个用户配置加载失败,
save_on_focus_lost也会跟着失效
想“停笔 2 秒就存”?必须用 AutoSave 插件
原生机制不支持空闲触发,AutoSave 是唯一可行方案,但必须关掉 save_on_focus_lost,否则重复保存、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 Settings - 真正起效的字段只有两个:
"auto_save_on_idle": true和"auto_save_delay_milliseconds": 3000(单位毫秒,别设低于 1500) - 插件默认不处理未命名文件,首次
Ctrl + S命名前不会自动保存 - 路径含中文、空格或括号时,某些 Sublime 4 版本会跳过保存,建议先用纯英文路径验证
最易被忽略的点:很多人以为“切到另一个 tab 就算失焦”,其实 save_on_focus_lost 响应的是整个窗口失去焦点,不是单个 tab;而 AutoSave 的 auto_save_on_idle 触发依赖编辑器空闲检测,如果正运行高 CPU 插件或大文件解析,空闲判断可能延迟甚至失效。











