Sublime Text 不支持远程编辑历史记录,因其不直接编辑远程文件,Local History 插件依赖的 on_post_save 事件被 SFTP/FTP 插件绕过,临时路径变动、事件监听失效及网络挂载限制共同导致该功能不可用。

Sublime Text 无法保存远程编辑的历史记录——它根本不支持直接编辑远程文件,所谓“远程编辑”实际是本地同步或挂载后的本地操作,历史记录只对本地路径生效。
为什么 Local History 对 SFTP/FTP 编辑的文件不生成快照
Local History 插件监听的是 Sublime 内部的 on_post_save 事件,而 SFTP、FTP 或 RSync 类插件(如 SFTP、SyncedSidebar)通常不触发该事件:它们要么把远程文件下载到临时目录再打开(路径不固定),要么通过自定义视图模拟编辑,根本没走 Sublime 的保存流程。
- 你看到的“远程文件”其实是本地缓存副本,路径类似
/tmp/sublime_sftp_abc123.py,每次打开都可能变,Local History 不认这个路径 - 即使手动 Ctrl+S,SFTP 插件会跳过 Sublime 原生保存,直接调用自身上传逻辑,
Local History: Save Current File命令也无响应 - 插件配置里设了
backup_on_save同样无效——AutoSave 依赖 Sublime 的保存钩子,远程插件绕过了它
想保留远程修改痕迹,只能靠外部同步+版本控制
真正可行的做法不是让 Sublime 记录,而是让远程文件本身具备可追溯性:
- 在远程服务器上启用 Git:每次上传前
git add . && git commit -m "sublime edit",历史全在服务端 - 用
rsync --backup --suffix=.bak-$(date +%s)同步时自动留档,备份文件带时间戳,不覆盖 - 若必须用 SFTP 插件,开启其
sync_down_on_open和sync_up_on_save,再配合本地项目根目录的 Local History——但前提是把远程项目完整同步到本地目录下操作
别信“远程历史”插件或配置项
目前没有稳定维护的 Sublime 插件能真正捕获 SSH/SFTP 文件的编辑历史。搜索结果里提到的 RemoteHistory、SSHHistory 等均为已归档或与 ST4 不兼容的废弃项目,启用后可能导致:
- 保存时卡死(阻塞 SSH 连接等待响应)
- 历史列表为空但无报错(因事件监听失败,静默降级)
- 误把本地临时路径当真实路径存档,换机器后全部失效
最易被忽略的一点:Local History 的 .sublime-history/ 文件夹必须和源文件在同一个磁盘卷、同一套文件系统下才能可靠工作——网络挂载盘(如 SMB、WebDAV)或 OneDrive 同步目录,连本地保存都可能失败,更别说远程场景。










