sublime text 本地文件历史依靠 local history 插件实现,该插件通过定期备份已保存文件到本地缓存目录来模拟时间机器,触发条件包括保存、失焦或手动调用,备份按路径存储并支持恢复与查看。

Sublime Text 本地文件历史靠什么实现?
Sublime Text 本身不保存任何文件历史版本,Local History 这类功能必须依赖插件。官方 Package Control 中最稳定、维护活跃的是 Local History 插件(作者:randy3k),它通过定期备份当前文件到本地缓存目录来模拟“时间机器”——不是 Git 式的快照,而是基于修改时间的自动快照。
- 备份触发条件:文件保存时(
on_post_save)、焦点离开文件时(可选)、或手动触发(local_history:show_history) - 默认只对已保存的文件(即有真实路径的
.txt、.py等)生效,未保存的临时标签页(untitled)不备份 - 所有备份存于用户目录下的
Local History文件夹,路径类似:~/Library/Application Support/Sublime Text/Packages/User/Local History/(macOS)或%APPDATA%\Sublime Text\Packages\User\Local History\(Windows)
安装和启用 Local History 插件的实操要点
用 Package Control 安装后,插件默认开启但需确认关键配置是否生效:
- 检查是否启用自动保存快照:
"auto_save": true(在Preferences → Package Settings → Local History → Settings中) - 调整保留天数和最大版本数,避免磁盘被占满:
"max_age": 30(单位:天),"max_files": 100 - 若想对未保存文件也做快照,需手动开启:
"backup_untitled": true,但注意这会生成无扩展名的备份,恢复时需自行判断内容 - Windows 用户若发现备份失败,检查杀毒软件是否拦截了
Local History目录的写入权限
怎么找回误删/改错的某次编辑?
右键当前文件标签或编辑区 → 选择 Local History → Show History,会弹出带时间戳的列表:
- 列表按修改时间倒序排列,每项显示类似:
2024-05-22 14:32:17 (2.4 MB) - 点击某条目,会在新标签页中打开该版本(只读),确认无误后可复制粘贴,或点击右上角
Restore按钮直接覆盖当前文件 - 如果当前文件已被删除,先新建同名文件并保存(确保路径一致),再调出历史菜单——插件靠文件路径匹配备份,路径不对就找不到记录
为什么有时历史列表为空或找不到刚改的内容?
这不是插件坏了,而是几个常见原因叠加导致的:
- 文件还没执行过
save(即仍为untitled),且"backup_untitled"为false(默认值) - 修改后没触发保存,比如只做了 Ctrl+Z 撤回但没保存,插件不会为此生成快照
- 当前视图是符号链接(symlink)指向的文件,而插件默认按真实路径存储,可能匹配失败
-
Local History缓存目录被手动清空,或磁盘空间不足导致写入失败(查看 Sublime 控制台是否有Permission denied或IOError)
本地历史不是万能回滚方案,它不跟踪行级变更,也不提供 diff 预览——恢复前务必先看一眼快照内容。真正重要的项目,还是得靠 Git。











