原生 save_on_focus_lost 是最稳的自动保存方案,仅在失焦时对已修改且可写的文件执行一次保存,无需插件、真正写入磁盘;需在用户配置中添加 "save_on_focus_lost": true,禁用无效字段如 auto_save。

原生 save_on_focus_lost 是最稳的自动保存方案
Sublime Text 没有“实时保存”机制,save_on_focus_lost 是唯一内置、无需插件、真正写入磁盘的自动保存方式。它只在你点击编辑器外区域(比如桌面、终端、浏览器)时,对已修改且可写的文件执行一次保存——未改动的不存,只读文件跳过,新建未命名文件(untitled)也不触发。
操作很简单:
打开 Preferences → Settings,在右侧用户配置里加一行:
"save_on_focus_lost": true
注意:必须用英文双引号,前后逗号位置要对,保存后立刻生效,不用重启。别写成 auto_save、auto_save_interval 这类字段——它们在 Sublime 源码里根本不存在,加了不仅无效,还可能干扰 AutoSave 插件行为。
需要空闲自动保存?必须用 AutoSave 插件
想“停笔 3 秒就存”,原生做不到,只能靠插件。官方推荐的是 AutoSave(作者 randy3k),不是名字相近的其他同名插件。
- 先确保已装
Package Control(没装的话按Ctrl+Shift+P→ 输入Install Package回车,再粘贴安装脚本) - 按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜AutoSave→ 选作者是randy3k的那个安装 -
关键一步:删掉或注释掉用户设置里的
"save_on_focus_lost": true,否则两个机制同时工作,大文件会卡顿,外部进程(比如 watch 脚本)也可能冲突
配置入口不是通用用户设置,而是:Preferences → Package Settings → AutoSave → Settings。真正起效的只有两个字段:
{
"auto_save_on_idle": true,
"auto_save_delay_milliseconds": 3000
}
单位是毫秒,别设低于 1500;auto_save_ignore_files 可加 ["*.log", "temp.*"] 排除大日志或临时文件。
Browser Sync 实现保存即刷新,不是自动保存本身
很多人混淆“自动保存”和“保存后自动刷新浏览器”。后者需要外部工具配合,跟 Sublime 自身保存逻辑无关。
步骤很明确:
- 先全局装
browser-sync:npm install -g browser-sync - 在 Sublime 里新建构建系统:
Tools → Build System → New Build System… - 填入 JSON,关键字段是
"cmd"和"working_dir",例如:
{
"cmd": ["browser-sync", "start", "--server", "--files", "**/*.{html,css,js}"],
"working_dir": "${project_path}",
"selector": "source.html"
}
保存为 BrowserSync.sublime-build,然后打开 HTML 文件按 Ctrl+B 运行。这时 Sublime 保存文件,browser-sync 才会触发刷新——它依赖的是文件系统变更事件,不是 Sublime 的保存动作本身。
同步配置和插件,别碰 Packages/ 全目录
跨设备同步,重点只该放在 Packages/User/ 目录:里面全是你的 Preferences.sublime-settings、快捷键、插件配置等。其他子目录(如 Cache/、Index/)是运行时生成的,同步会导致冲突或异常。
推荐做法:
- 用软链接把
Packages/User指向云盘或 Git 仓库(macOS/Linux 用ln -s,Windows 用mklink) - 插件列表导出:按
Ctrl+Shift+P→ 输入Package Control: List Packages→ 再输Package Control: Synchronize Packages,它会自动生成installed_packages.json - 新设备装完
Package Control后,直接运行Package Control: Synchronize Packages就能批量装回
最容易被忽略的是:多端同时编辑同一份配置文件时,Git 合并冲突或云盘覆盖会直接破坏设置语法(比如少个逗号),导致整个用户配置加载失败——save_on_focus_lost 也会跟着失效。改配置前先关掉其他设备的 Sublime。











