save_on_focus_lost是sublime text唯一原生自动保存方案,仅在窗口失焦时触发一次保存;定时保存需安装autosave插件并单独配置,避免与原生功能冲突。

直接改设置就能用:save_on_focus_lost 是唯一原生靠谱方案
Sublime Text 没有“改完就存”或“每秒保存”的原生功能,save_on_focus_lost 是官方唯一支持、零依赖、开箱即用的自动保存机制。它只在你切出整个 Sublime 窗口(比如点到终端、浏览器、桌面)时触发一次保存,不刷磁盘、不卡 UI、不误存只读文件。
- 打开 Preferences → Settings,确保编辑的是右侧「User Settings」(左侧是只读默认项)
- 在花括号
{}内添加一行:"save_on_focus_lost": true - 按
Ctrl+S(Windows/Linux)或Cmd+S(Mac)保存设置文件,立即生效,不用重启 - 测试方法:输入文字 → 点击桌面或切换到其他程序 → 再切回 Sublime → 右键文件查看修改时间是否更新
save_on_focus_lost 不生效?先排查这三类典型问题
这个配置看似简单,但失效往往不是设置错了,而是被几个隐蔽条件拦住了。
-
文件还没命名或没保存过:新建的
untitled文件不会触发保存,必须先按Ctrl+S保存为实际路径(如test.py)才生效 -
只读目录或权限不足:比如编辑
/etc/hosts或挂载的网络盘,系统拒绝写入,Sublime 不报错但也不落盘 -
你以为“失焦”了,其实没有:在 Sublime 内部切换 tab、点击侧边栏、甚至弹出命令面板(
Ctrl+Shift+P),都不算“窗口失焦”,不会触发保存
想定时保存?别硬改 settings,装插件再单独配
网上流传的 "auto_save": true、"auto_save_interval": 60 等字段,Sublime 官方从未支持,加了无效,还可能干扰插件行为。真要空闲几秒就存,得靠 AutoSave 插件(作者 wbond 或 randy3k,别装仿品)。
- 先禁用原生功能:把用户设置里的
"save_on_focus_lost": true删掉或注释掉,否则和插件冲突,同一文件反复写盘 - 安装后进 Preferences → Package Settings → AutoSave → Settings – User
- 写入标准配置,例如延迟 3 秒空闲后保存:
{ "auto_save_on_idle": true, "auto_save_delay_milliseconds": 3000 } -
auto_save_delay_milliseconds别设太小(如500):边打字边保存会卡顿;对大日志或 SQL 文件,建议 ≥3000
性能和安全边界必须清楚
自动保存不是万能保险,它解决的是“切出去忘了 Ctrl+S”这类丢稿问题,不是替代备份或版本控制。
-
save_on_focus_lost不保存未命名文件,也不覆盖只读文件——这是设计,不是 bug -
AutoSave插件默认不保存新文件(auto_save_only_if_already_saved默认为true),如果需要,得显式设为false - 对正在被外部进程读取的文件(比如 tail -f 日志、数据库导出文件),频繁保存可能引发读取异常,这类场景建议关掉自动保存
save_on_focus_lost,定时保存用插件并单独配;所有“看似失效”,几乎都卡在文件路径、权限或焦点判断上。











