sublime text 唯一原生自动保存机制是 save_on_focus_lost,需在 user settings 中设为 true;auto_save 等字段无效,属插件配置范畴;实现空闲保存须用 autosave 插件并正确配置其专属设置。

Sublime Text 没有“实时存盘”功能,所谓“一改就保存”是错觉;唯一真正生效、写入磁盘的原生机制只有 save_on_focus_lost,它只在你切出整个 Sublime 窗口时保存已修改且可写的文件。
怎么正确启用原生失焦自动保存
这是最轻量、零依赖、不会卡 UI 的防丢方案,适合绝大多数人:
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开设置,确保编辑的是右侧「User Settings」 - 在花括号
{}内添加一行:"save_on_focus_lost": true,注意英文双引号、逗号位置和引号闭合 - 按
Ctrl + S保存该设置文件,立即生效,无需重启 - 验证方法:改几行字 → 点击桌面或终端 → 切回 Sublime → 查看文件修改时间是否更新
它会跳过未修改、只读、未命名(untitled)文件,不静默覆盖,也不报错——全是设计行为,不是 bug。
为什么 auto_save、auto_save_interval 这些字段全无效
这些键名在 Sublime 官方源码中根本不存在,加了不仅不触发任何保存逻辑,还会干扰插件:
-
"auto_save": true、"auto_save_delay_in_seconds": 1、"auto_save_interval": 60全部被 Sublime 解析器静默忽略 - 某些插件(如 AutoSave)会误读这些字段,以为“原生已启用”,从而禁用自身核心逻辑
- 拼写混乱(
auto_save_delay_msvsauto_save_delay_milliseconds)在 v4.1+ 后更易失效 - 一个 JSON 语法错误(比如少逗号、引号没闭合)会导致整个用户设置加载失败,
save_on_focus_lost也会跟着失效
想实现“停笔几秒就保存”?必须用 AutoSave 插件,且配置入口不能错
原生机制不支持空闲触发,AutoSave 是目前最稳定的选择,但它和 save_on_focus_lost 互斥:
- 先在 User Settings 中删掉或注释掉
"save_on_focus_lost": true - 按
Ctrl + Shift + P→ 输入Package Control: Install Package→ 安装AutoSave(作者 randy3k,v4.1+) - 配置入口必须是
Preferences → Package Settings → AutoSave → Settings – User,不是通用 User Settings - 真正起效的字段只有两个:
"auto_save_on_idle": true和"auto_save_delay_milliseconds": 3000 -
auto_save_delay_milliseconds别设太小(如500),否则边打字边保存,UI 可能卡顿;对几百 MB 的日志或 SQL 文件,建议 ≥3000
容易被忽略的关键细节
很多人配完没反应,其实卡在几个隐性逻辑上:
- AutoSave 插件在部分 Sublime 4 升级后需重启才加载,安装完别急着测试,先关再开
- 文件路径含中文、空格或括号时,某些版本的 AutoSave 会跳过保存,建议先用纯英文路径验证
-
"auto_save_only_if_already_saved": true是默认值,意味着新建的untitled文件不会自动保存——得先按Ctrl + S命名一次 - 大文件(>5MB)频繁保存会导致光标卡顿、语法高亮延迟,可在 AutoSave 配置中加
"excluded_patterns": ["*.log", "*.json"]











