Local History插件非本地版本控制系统,仅响应Sublime保存事件,在项目根目录生成.sublime-history/快照,无法回溯命令行修改、Git覆盖或未保存变更;需通过Package Control安装最新版、手动启用enabled和auto_save、验证控制台日志输出方可生效。

Local History 插件不是本地版本控制系统,它只响应 Sublime 内部的保存事件,在项目根目录下生成 .sublime-history/ 快照,不能回溯命令行修改、Git 覆盖或未保存的 buffer 变更。
Local History 怎么装才真正启用
装完不等于能用,很多人卡在“没日志输出”这一步。必须确认三件事:
- 用 Package Control 安装的是最新版(作者
randy3k或kemayo),旧版 ST3 插件在 ST4 下因 Python API 变更会静默失败 - Preferences → Package Settings → Local History → Settings 中,
"enabled": true和"auto_save": true都已显式写入(仅靠默认值不可靠) - 按
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/,你在/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保存(确保路径一致),再调出历史菜单;否则插件找不到对应快照 - 快照文件名类似
main.py.2026-05-25_18-12-04,直接进.sublime-history/文件夹手动复制也行,但注意扩展名可能被截断(尤其untitled备份)
别和 AutoSave、save_on_focus_lost 混着用
三个机制定位不同,混用反而导致冲突或冗余:
-
save_on_focus_lost是原生防丢机制:切出窗口即落盘,零依赖、低干扰,适合防崩溃/断电丢失 -
AutoSave插件的backup_on_save只在 Sublime 主动保存时生成.bak,且每次覆盖旧文件,不是版本管理 - Local History 和
backup_on_save同时开,可能在 1 秒内连发「写原文件」+「存快照」,对 Webpack 监听的文件或大日志易造成卡死或静默失败 - 如果只想要防丢+有限回滚,
save_on_focus_lost+ Local History 就够了;硬要加AutoSave,请禁用"auto_save_on_modified": true,只留"auto_save_when_focus_lost": true
快照不加密、不压缩、不校验,只存本地,换机器或重装就丢;重要逻辑仍得靠 git commit 或外部备份。

















