Git同步User目录是最可靠方式,仅需托管Packages/User/下配置文件,避开插件二进制与敏感文件,注意跨平台换行符、sftp-config.json位置及首次恢复流程。

Git 同步 User 目录是最可靠对接方式
Sublime Text 没有内置代码库集成,所谓“对接”本质是把 Packages/User/ 目录当作一个普通项目托管。只要 Git 仓库存在、路径正确、文件类型受控,就能实现跨设备配置复用。不推荐同步整个 Packages/ 或 Installed Packages/,插件二进制和缓存文件会引发兼容性问题。
-
Packages/User/是唯一需要同步的目录,它包含:Preferences.sublime-settings、Package Control.sublime-settings(含installed_packages列表)、*.sublime-keymap、*.sublime-snippet - 务必在 Sublime Text 完全退出后操作,否则文件被锁,Git 可能读取到损坏内容或提交空文件
- 建议添加
.gitignore过滤掉临时文件:Session.sublime_session、Local History/、Cache/、*.pyc - Windows 用户注意换行符:执行
git config --global core.autocrlf input,避免 CRLF/LF 混乱导致.sublime-snippetXML 解析失败
sftp-config.json 不该放进 Git 仓库
如果你用 SFTP 插件做远程开发,sftp-config.json 属于项目级敏感配置,不是全局用户设置。它含 host、user、ssh_key_file 等字段,直接推到公开仓库有安全风险。更关键的是:这个文件由插件右键生成,位置必须在项目根目录,不能放在 User/ 下——放错位置等于无效。
- 不要在
User/目录里手动创建或提交sftp-config.json - 若需多设备复用同一套 SFTP 配置,应将该文件单独加密(如用
git-crypt)或仅本地保存 - 常见错误:把
sftp-config.json提交后,在新机器上克隆仓库并链接User/,结果 SFTP 菜单项消失——因为插件只扫描当前打开的项目根目录,不读User/
新电脑首次恢复必须分两步走
Git 克隆本身不会让 Sublime Text 自动加载配置。你得先让软件“认出”那个目录是它的 User/,否则所有 .sublime-settings 文件都只是躺在磁盘上的普通文本。
- 安装 Sublime Text 后,先关闭程序,再执行
git clone到目标路径(例如 Windows 的%APPDATA%\Sublime Text 4\Packages\User) - 如果原
User/已存在,务必重命名备份(如User.bak),不能直接覆盖或合并 - 启动 Sublime Text 前,确认
Package Control.sublime-settings中的installed_packages列表已写入,否则插件不会自动重装 - 第一次启动后,等 Package Control 完成初始化(状态栏显示 “Ready”),再打开命令面板执行
Package Control: Satisfy Dependencies补齐依赖
符号链接比 Git 更快,但 Git 更可控
云盘+符号链接能实现秒级同步,适合个人少量设备;Git 则提供版本回退、分支隔离、冲突提示——尤其当你在 macOS 和 Windows 间切换时,.sublime-keymap 里 ctrl 和 super 键位差异必须靠条件块处理,Git 的 diff 能立刻暴露这类问题。
- Git 方案中,可在
Preferences.sublime-settings里用platform键做差异化配置:"font_size": { "windows": 10, "osx": 12, "linux": 11 } - 符号链接无法解决“同一时间两台设备改同一个 snippet”的冲突,云盘可能生成
conflicted copy,而 Git 会在pull时明确报错并停住 - 别用 GitHub Gist 替代 Git 仓库:Gist 不支持子目录、无分支、无权限粒度,且所有第三方 Gist 同步插件均已失效,XML 格式校验失败率极高
installed_packages 的更新机制,也没说明不同 ST 版本(3 vs 4)对路径和插件兼容性的实际影响,这些才是多人协作或长期维护时最容易卡住的地方。


















