local history 插件需三步才真正生效:通过package control安装并显式启用enabled和auto_save、控制台验证日志输出、确保快照路径与项目根目录一致;它仅响应sublime内手动保存事件,不回溯未保存变更、命令行修改或git覆盖。

装完 Local History 插件不等于能用——它默认不启用,也不自动备份未保存文件,很多用户装完右键点“Show History”发现列表为空,其实是卡在配置和路径匹配上。
Local History 怎么装才真正生效
别手动下载 ZIP,Package Control 是唯一可靠方式。装完必须验证三件事:
- 用
Package Control: Install Package命令搜Local History(注意不是LocalHistory或Simple History) - 打开
Preferences → Package Settings → Local History → Settings,确认用户设置里显式写了:"enabled": true和"auto_save": true(仅靠默认值不行) - 按
Ctrl+`打开控制台,改一行再Ctrl+S保存一个已命名文件(如test.py),看到LocalHistory: saved snapshot for test.py才算活了
Windows 用户特别小心:如果 Sublime 是管理员身份运行,而 .sublime-history/ 尝试写入 %APPDATA% 下的插件目录,权限不足会导致静默失败——无报错、无快照、但控制台也没日志。
快照为什么找不到?路径和触发时机是关键
快照不是全局记录,它严格绑定你“用 File → Open Folder… 打开的根目录”。比如你在 /project/src/ 下打开 utils.py,快照就存在 /project/src/.sublime-history/,而不是 /project/.sublime-history/。
- 只对“已保存过 + 有编辑行为”的文件生效;新建未命名标签页(
Untitled)默认不备份,除非手动加"backup_untitled": true - 只响应
on_post_save事件,不是实时监听——改了没按Ctrl+S,或用终端直接echo "x" > file.py,插件完全感知不到 - 同一秒内多次保存会覆盖,不叠加;默认每 120 秒自动抓一次,但仅限当前处于编辑状态且被修改过的文件
误删文件后怎么恢复?路径一致是硬前提
插件不看文件是否存在,只认完整路径。所以恢复分两步:
- 先在原位置新建同名空文件(路径、大小写、扩展名必须完全一致),然后
Ctrl+S保存——让插件“认领”这个路径 - 右键 →
Local History → Show History,这时历史条目才会出现;点击某条目是只读预览,想覆盖当前文件得点右上角Restore或右键选Replace Current File
注意:Restore 是直接覆盖,没有确认弹窗;如果只是想比对,点历史条目会在新标签页打开只读副本,支持复制粘贴。
BackupOnSave 和 Simple History 有什么区别?选哪个
两者都靠保存触发,但机制完全不同:
-
BackupOnSave:每次保存生成独立.bak文件或带时间戳副本,存你指定目录,适合脚本扫描或 Git 管理;但会产生一堆外部文件 -
Simple History:历史版本存在 Sublime 的本地数据库(Local/目录下),不产生额外文件,右键调用轻量;但外部工具无法直接读取
二者不能共存——同时启用可能重复备份或菜单冲突。如果你需要 diff 或批量清理,选 BackupOnSave;如果只是偶尔回溯,Simple History 更省心。但无论选哪个,都别指望它替代 Git。
最常被忽略的一点:Local History 不处理未保存的 buffer 变更,也不感知命令行修改或 Git 强制覆盖。它只管“你亲手在 Sublime 里按了 Ctrl+S 那一刻”的快照。防丢代码,终究得靠组合策略:自动保存 + 本地快照 + Git 提交,缺一不可。











