sublime text 原生自动保存仅支持 save_on_focus_lost: true,失焦即存,轻量可靠;其他 auto_save 类字段无效且可能干扰 autosave 插件。需在 user settings 中正确配置并保存,无需重启。

Sublime Text 原生只认 save_on_focus_lost 这一个自动保存开关,加了其他 auto_save 类字段全无效,还可能让 AutoSave 插件失灵。
怎么安全启用原生自动保存(失焦即存)
这是最轻量、最可靠、零依赖的防丢方案:你切出 Sublime 窗口(比如点到终端、浏览器、另一个应用),所有已修改未保存的文件立刻写入磁盘——不是缓存,是真实 write()。
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开设置 - 确保编辑的是右侧「User Settings」面板(左侧是只读默认项)
- 在花括号
{}内添加一行:"save_on_focus_lost": true,注意逗号位置和引号闭合 - 按
Ctrl + S保存该设置文件,立即生效,无需重启
它不会保存未改动的文件、只读文件或新建的 untitled 文件——这是设计,不是 bug。
为什么别往用户设置里写 auto_save、auto_save_interval 这类字段
这些字段在 Sublime 官方代码中根本不存在。加了不仅不触发任何保存逻辑,还会干扰插件行为:
-
auto_save、auto_save_delay_in_seconds、auto_save_delay_ms等写法,Sublime 解析器会静默忽略,但 AutoSave 插件可能误判为“原生已启用”,从而禁用自身核心逻辑 - 不同拼写混用(比如
auto_save_delay_milliseconds和auto_save_delay_in_ms)容易在插件升级后突然失效 - 网上所谓“生效了”,大概率是插件在兜底,这种不可控依赖迟早出问题
想实现“打字停顿就存”?必须关掉 save_on_focus_lost 再装 AutoSave 插件
两者互斥。同时开启会导致同一文件被重复保存,浪费 I/O,编辑大日志或被外部进程读取时可能卡死或冲突。
- 先在用户设置中删掉或注释掉
"save_on_focus_lost": true - 按
Ctrl + Shift + P→ 输入Package Control: Install Package→ 搜索安装AutoSave(作者 randy3k) - 进
Preferences → Package Settings → AutoSave → Settings,在右侧用户配置中写入:
{
"auto_save_on_idle": true,
"auto_save_delay_milliseconds": 3000
}
auto_save_delay_milliseconds 别设太小(如 500),否则边打字边保存,UI 可能卡顿;对几百 MB 的 SQL 或日志文件,建议 ≥ 3000。其他名字(如 auto_save_delay_in_ms)在最新版插件中已不生效。
容易被忽略的关键细节
很多人配完发现“没反应”,其实卡在几个隐性逻辑上:
-
AutoSave插件的配置**不能写在通用用户设置里**,必须走Preferences → Package Settings → AutoSave → Settings这个专用入口,否则 Sublime 会直接忽略 -
auto_save_only_if_already_saved默认为true,意味着新建的untitled文件不会自动保存——得先手动Ctrl + S命名一次 - 若要排除某些文件类型(比如
*.log或生成的temp.*),得在插件配置里加"auto_save_ignore_files": ["*.log", "temp.*"],原生设置做不到这点











