Sublime Text最稳妥的自动保存方案是启用原生save_on_focus_lost:仅在窗口失焦时保存已修改文件,安全无副作用;若需空闲时自动保存,须禁用该选项并安装AutoSave插件,配置auto_save_on_idle和auto_save_delay_milliseconds。

原生设置 save_on_focus_lost 就够用,别碰 auto_save
Sublime Text 唯一稳定、无副作用的自动保存方式,就是启用 save_on_focus_lost。它不是“实时保存”,但足够安全:只在你切出窗口(比如点到终端、浏览器、桌面)时,对当前有修改的文件执行一次保存——未改动的不写盘,只读文件不会误存,崩溃或断电前至少能保住最后一次失焦前的内容。
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开设置,确保编辑的是右侧「User Settings」 - 在花括号内添加一行:
"save_on_focus_lost": true,注意逗号位置和引号闭合 - 保存即生效,无需重启;新建未命名的文件不会触发该行为(这是设计,不是 bug)
- 网上流传的
"auto_save": true、"auto_save_interval": 60等字段,Sublime 官方从未支持,加了无效,还可能干扰插件逻辑
要“空闲就存”,必须关掉 save_on_focus_lost 再装 AutoSave 插件
如果你真需要“敲字停顿 2 秒就保存”或“每 30 秒强制落盘”,那得靠 AutoSave 插件。但它和 save_on_focus_lost 不兼容——两者同时开启会导致同一文件被重复保存,不仅浪费 I/O,还可能在编辑大型日志或被外部进程读取时引发冲突。
- 先在用户设置里删掉或注释掉
"save_on_focus_lost": true - 按
Ctrl + Shift + P→ 输入Package Control: Install Package→ 搜索安装AutoSave - 安装后,进
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 -
auto_save_on_focus_lost是插件提供的另一个开关,和原生的同名配置无关,不要混淆
插件配置项名称很乱,认准 milliseconds 和 on_idle
不同资料里出现过 auto_save_delay_in_ms、auto_save_delay_ms、auto_save_delay_in_seconds 等写法,但截至 2026 年 3 月最新版 AutoSave 插件(v4.1+),真正起效的只有两个字段:auto_save_on_idle 和 auto_save_delay_milliseconds。其他名字要么已废弃,要么是旧版残留,写了也不生效。
-
"auto_save_on_idle": true是启用“空闲保存”的总开关,关了它,延迟参数再大也没用 -
"auto_save_delay_milliseconds": 1000表示输入停止 1 秒后自动保存;设为-1表示禁用延迟(不推荐) - 想让新文件(未命名、无路径)也自动保存?加这一行:
"auto_save_only_if_already_saved": false - 忽略某些类型文件(比如临时生成的
.log或.tmp)?用"auto_save_ignore_files",值为数组,如["*.log", "*.tmp"]
自动保存 ≠ 文件状态重置,标签页星号 * 还会亮着
这是最容易被忽略的一点:插件触发的保存,不会重置 Sublime 原生的「已保存」状态逻辑。也就是说,哪怕刚自动存过,只要内容有变更,标签页依然显示星号 *,Ctrl + S 仍然有效——它不是“欺骗 UI”,而是 Sublime 明确区分了「物理落盘」和「编辑器状态」。
- 这对 Git 用户其实是好事:没手动保存前,Git 差异对比仍以最后人工保存为基准,避免误提交中间态
- 但如果你依赖星号判断是否修改过,就得知道它不随插件保存而消失
- 插件保存也不会触发构建系统(Build System)、不会运行
on_post_save事件,除非你额外配置监听逻辑
最稳妥的组合是:save_on_focus_lost 开着防丢,再配 Git 自动提交或本地快照工具补位;非要上插件,就彻底关掉原生选项,别混用。

















