sublime text 无法用 github gist 同步,因所有第三方 gist 插件均已停更、依赖下线的 v3 api,且无法处理 xml 校验、scope 冲突、换行符差异与 token 过期;真正可靠方案是 git + gitee 同步 packages/user 目录,并通过符号链接实现多端一致。

Sublime Text 配置同步为什么不能用 Gist
Sublime Text 无法通过 GitHub Gist 实现一键同步,所有声称支持 Gist 的插件(如 GistSync、SyncSettings)均已停更,且依赖已下线的 GitHub v3 API;它们无法处理 .sublime-snippet 文件的 XML 格式校验、scope 值错一位就失效、换行符(CRLF/LF)差异、token 权限过期等问题。手动复制粘贴 Gist 内容只是单次备份,不是同步,也不可维护。
用 Git + Gitee 同步 Packages/User 目录最稳
真正能“一键同步”的路径只有一条:把 Packages/User/ 目录纳入 Git 版本控制,推送到 Gitee 远程仓库,再在其他机器上克隆并建立符号链接。这个目录包含全部自定义设置:Preferences.sublime-settings、*.sublime-snippet、*.sublime-keymap 等。
- 退出 Sublime Text(避免文件被锁)
- 执行
Preferences → Browse Packages…,进入Packages/User/目录 - 终端中运行:
git init && git add *.sublime-snippet *.sublime-settings *.sublime-keymap && git commit -m "init user config" - 添加远程:
git remote add origin https://gitee.com/your-username/sublime-user.git - 推送:
git push -u origin main
注意:不要提交 Package Control.sublime-settings 到公开仓库——它含插件列表和安装状态,可能泄露使用习惯。
多设备接入时必须用符号链接而非复制
直接复制 Packages/User/ 到另一台机器会导致配置覆盖或重启后失效,因为 Sublime 启动时会检查目录所有权与写入权限。正确做法是克隆仓库后,用符号链接指向它:
- 在新机器上克隆:
git clone https://gitee.com/your-username/sublime-user.git ~/sublime-user-sync - 关闭 Sublime,删除原
Packages/User/目录 - 创建链接(macOS/Linux):
ln -s ~/sublime-user-sync ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User - Windows 可用
mklink /D命令,注意路径中空格需转义或加引号
符号链接确保 Sublime 每次读写都落在 Git 仓库内,后续 git pull 即完成同步,无需重启软件。
同步后插件不生效?检查 Installed Packages 和 Package Control
Git 同步只管 Packages/User/,插件本身(.sublime-package 文件)存在 Installed Packages/ 目录,不参与同步。所以:
-
Installed Packages/必须在每台机器上单独安装——用Package Control: Install Package重装一遍即可 - 确保
Package Control已启用:命令面板搜Package Control,无响应说明未装好或未重启 - 国内网络下务必换镜像源,否则
Install Package列表加载失败。编辑Preferences → Package Settings → Package Control → Settings – User,填入:"channels": ["https://gitee.com/azl397985856/package_control_channel/raw/master/channel_v3.json"]
同步配置的本质是复用偏好设置,不是复制运行时环境;插件逻辑、二进制依赖、CTags 索引等仍需本地重建,这点容易被忽略。











