sublime text 不支持自动保存副本,原生无 backup_on_save 等设置,autosave 插件亦不生成备份;唯一临时文件为私有格式的 .sublime-swpx 交换文件,仅用于崩溃恢复,非版本备份。

save_on_focus_lost 不会生成副本,Sublime Text 原生不支持“自动保存为副本”或“每次保存都留备份文件”。所谓“另存为备份”,必须靠外部机制或手动配置模拟,不能靠开关一开就成。
Sublime 本身没有 backup_on_save 或 save_as_copy 这类设置
官方设置项里查不到、插件生态中也没有主流方案真正实现「每次保存都生成 .bak / ~ / .backup 后缀副本」。你看到的某些教程提到的 "backup": true 或 "create_backup": true,全是无效字段——Sublime 会静默忽略,不报错也不生效。
想保留历史版本,得靠 atomic_save + 文件系统快照或 Git
Sublime 默认开启 atomic_save(原子写入),即先写临时文件再重命名覆盖原文件。这能防止写到一半崩溃导致文件损坏,但不产生副本。真要留痕迹,只能:
- 用 Git 管理项目:每次
git add -u && git commit -m "auto"配合 pre-commit hook 或定时脚本,比编辑器级备份更可靠 - 启用操作系统级版本控制:macOS 的 Time Machine、Windows 的文件历史记录、Linux 的 btrfs/snapper 快照
- 手动加个构建系统调用
cp或copy,但仅限单文件且需确认路径权限
AutoSave 插件也不能自动另存为副本
即使你装了 AutoSave 插件并配了 auto_save_on_idle,它也只是调用 Sublime 的标准 view.save() API,行为和按 Ctrl+S 完全一致——覆盖原文件,不留副本。插件作者 randy3k 明确说明过:不提供备份功能,也不计划加入。试图在插件设置里硬加 "backup_suffix": ".bak" 这类字段,会被直接跳过。
唯一接近“副本”的原生行为是 swap_file 和 tmp_file
Sublime 在编辑时会生成临时交换文件(如 .sublime-swpx),位置在:
- macOS:
~/Library/Caches/Sublime Text/Cache/... - Windows:
%LOCALAPPDATA%\Sublime Text\Cache\... - Linux:
~/.cache/sublime-text/Cache/...
这些文件不是备份,而是崩溃恢复用的内存映像,关闭文件后通常被自动清理;且格式私有,无法直接打开或 diff。别指望靠它找回昨天改错的那行代码。
真正防丢,靠的是 Git 提交频率、定期导出、或用支持版本树的编辑器(如 VS Code 配合 Local History 插件)。Sublime 的定位就是轻量专注,备份这件事,它从没打算管。











