Sublime Text原生支持save_on_focus_lost,启用后切换窗口即自动保存已命名文件。按Ctrl+,打开用户设置,添加"save_on_focus_lost": true并保存即可生效,无需重启或插件。

Sublime Text 原生支持 save_on_focus_lost,开启后切换出窗口即自动保存——这是最稳定、零依赖的自动存档方式,无需插件也能防丢内容。
怎么启用原生“失焦自动保存”
Sublime 本身没有“实时保存”或“定时保存”,但 save_on_focus_lost 是官方内置、长期稳定、无需重启的设置项。它在你点击浏览器、终端或其他程序时,立刻把当前已编辑但未保存的文件写入磁盘。
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开设置面板 - 确保你在编辑右侧的 User Settings(左侧是只读默认设置)
- 在花括号
{}内添加一行:"save_on_focus_lost": true - 保存文件(
Ctrl+S),立即生效 —— 不用重启,也不用安装任何东西
⚠️ 注意:该设置对所有已保存过的文件生效;新建的 untitled: 标签页或无路径临时文件不会保存(Sublime 无法确定保存位置,这是设计使然,不是 bug)。
为什么推荐先用这个,而不是 AutoSave 插件
因为多数人要的只是“切屏不丢内容”,而 save_on_focus_lost 恰好精准满足这点,且规避了插件常见问题:
- 插件可能被禁用或未加载:检查
Preferences → Package Settings菜单里有没有AutoSave子项,没有就说明没装成功 - 插件配置写错位置:必须写在
AutoSave.sublime-settings里,塞进全局Preferences.sublime-settings会被完全忽略 - 高频保存干扰 Git:若开启
auto_save_on_modified或设auto_save_delay_ms过小(如 100),每敲几个字就写一次磁盘,git status会频繁变红,CI/监听工具也可能误触发 - 权限静默失败:在只读目录(如
/usr/local/bin、Docker volume 挂载点)下,插件保存失败但不报错,你以为开着其实没存
需要定时保存?再加 AutoSave 插件
如果你真有“每 60 秒强制存一次”的需求(比如协作编辑共享文件、或担心崩溃丢数据),才值得引入插件。此时应配合原生设置使用,而非替代:
- 先确认已装
Package Control(没装就按Ctrl+Shift+P→ 输入Install Package Control) - 按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜索并安装作者为wbond的AutoSave - 进入
Preferences → Package Settings → AutoSave → Settings - 填入以下最小必要配置(避免过度保存):
{
"auto_save_delay_in_seconds": 2.0,
"auto_save_file_types": ["*"],
"auto_save_on_focus_lost": true
}
✅ 这样既保留失焦即存的兜底能力,又用插件补上空闲时的二次保险;auto_save_delay_in_seconds 设为 2.0(非毫秒!注意单位),可避免打字中途误存。
容易被忽略的关键限制
无论用原生还是插件,这几件事 Sublime 都做不到,提前知道能少踩坑:
- 不保存未命名文件(
untitled:)—— 它连文件名和路径都没有,无法落盘 - 不生成历史版本 ——
save_on_focus_lost和AutoSave都只是覆盖原文件,不是备份;要快照得另装Local History - 不响应外部修改 —— 如果你用命令行改了文件,Sublime 不会自动重载,也不会触发保存逻辑
- 不兼容某些只读环境 —— 比如 WSL2 中挂载的 Windows 目录若启用了“元数据禁用”,Sublime 可能静默拒绝写入
真正防丢的核心,其实是 save_on_focus_lost + hot_exit(关闭时不退出进程,下次打开恢复所有标签)。这两项配齐,比任何插件都管用。










