Local History插件装完默认不生效,必须确认enabled和auto_save设为true、安装最新版、控制台出现“saved snapshot”日志才算启用;快照仅响应Sublime保存事件,存于项目根目录.sublime-history/,不覆盖命令行修改或未保存变更。

Local History 插件装完默认不生效,必须手动确认三项配置并验证控制台日志输出,否则快照根本不会生成。
怎么确认 Local History 真正启用了
很多人装完就以为能用,结果右键菜单点开历史列表是空的——不是插件没装对,而是它压根没运行。关键看三件事是否全部满足:
-
enabled: true 和auto_save: true 必须显式写在Preferences → Package Settings → Local History → Settings里(不能只靠默认值) - 用
Package Control安装的是最新版(作者是randy3k或kemayo),旧版 ST3 插件在 ST4 下因 Python API 变更会静默失败 - 按
Ctrl+`打开控制台,修改并保存一个已命名文件(如main.py),看到类似LocalHistory: saved snapshot for main.py的日志才算真正启用
Windows 用户额外注意:若 Sublime 以管理员身份运行,而 .sublime-history/ 尝试写入用户目录(如 %APPDATA%\Sublime Text\Packages\User\Local History\),权限不足会导致写入失败,控制台无报错、但无快照。
快照存在哪、什么时候生成、为什么找不到
快照路径和触发逻辑是两个最容易误判的点:
- 路径完全取决于你用
File → Open Folder…打开的是哪一级目录——比如项目结构是/myproject/src/utils/,你在该目录下打开logic.py,快照就存在/myproject/src/utils/.sublime-history/,而不是/myproject/.sublime-history/ - 只对“已保存过 + 有编辑行为”的文件生效;新建未命名标签页(
untitled)默认不备份,除非手动开启"backup_untitled": true - 快照不是实时监听,而是靠
on_post_save事件驱动;只改了没按Ctrl+S,或者用终端直接echo "x" > file.py,插件完全感知不到 - 同一秒内多次保存会覆盖,不会叠加;默认每 120 秒自动抓取一次,但仅限当前处于编辑状态且被修改过的文件
怎么恢复误删或改错的内容
恢复操作本身不复杂,但路径匹配和文件状态容易被忽略:
- 右键编辑区或标签页 →
Local History: Show History,列表按时间倒序排列,点击某条目会打开只读视图 - 想恢复?不能双击直接覆盖——得在只读视图右上角点
Restore,或右键选Replace Current File - 如果文件已被删除,先在原路径新建同名文件并
Ctrl+S保存(确保路径一致),再调出历史菜单;否则列表为空
注意:Restore 按钮会直接覆盖当前文件内容;如果只想比对,点击历史条目会在新标签页以只读方式打开,支持复制粘贴。
BackupOnSave 和 Simple History 有什么区别
两者都靠保存动作触发,但行为逻辑不同:
-
BackupOnSave:每次save都生成一个独立的.bak或带时间戳的副本,存在你指定的目录里,适合手动归档或脚本扫描 -
Simple History:把历史版本存进 Sublime 的本地数据库(Local/目录下),不产生额外文件,右键菜单调用更轻量,但无法被外部工具直接读取 - 二者不兼容共存——同时启用可能导致重复备份或菜单冲突,建议只选其一
如果你需要 Git 那种可 diff、可批量清理的备份,BackupOnSave 更可控;如果只是偶尔回溯,Simple History 更省心。Local History 的核心限制在于它只响应 Sublime 内部的保存事件,不接管文件系统变更,这点必须提前接受。


















