Sublime Text 无官方云同步,SyncSettings 插件通过私有 Gist 同步配置、快捷键、代码段等,但需手动整理 snippet 至 Packages/User/ 目录并确保 XML 结构合法,且每次修改后须手动上传。

Sublime Text 本身不提供官方云同步功能,Gist 插件(如 SyncedSideBar 或更常用的 SyncSettings)是目前最稳定、轻量的第三方方案——但它同步的是配置和代码段(snippets),不是整个项目文件。
为什么不能直接用 GitHub Gist 同步 snippets?
因为 Sublime 的 .sublime-snippet 文件需要被正确加载,而 Gist 本身只是代码托管服务,不参与 Sublime 的插件生命周期。必须借助支持 Gist API 的插件来拉取、解析、写入本地 Packages/User/ 目录。
-
SyncSettings是主流选择:它把Preferences.sublime-settings、Key Bindings、Snippets、Color Schemes等打包为 ZIP,上传到你自己的私有 Gist - 它不会同步
Package Control安装记录或已安装插件二进制文件 - 首次同步前,必须手动把现有 snippets 复制进
Packages/User/(否则插件识别不到)
安装 SyncSettings 并绑定个人 Gist
确保已安装 Package Control,然后按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入:Package Control: Install Package → 搜索并安装 SyncSettings。
接着执行:SyncSettings: Setup,它会自动打开 GitHub 授权页。授权后返回 Sublime,插件会生成一个 token 并保存在 SyncSettings.sublime-settings 中。
注意:token 具有读写权限,务必设为私有 Gist(默认就是),不要泄露该 token。
手动整理 snippets 才能被 SyncSettings 识别
SyncSettings 只同步 Packages/User/ 下的 .sublime-snippet 文件。如果你的 snippet 是通过插件安装的(比如 Emmet 或 Vue Syntax Highlight),它们位于 Packages/Emmet/ 这类路径下,不会被同步。
- 打开
Preferences → Browse Packages…,进入User/目录 - 把想备份的 snippet 文件(如
log.sublime-snippet)复制进去 - 文件名建议用语义化命名,例如
react-props.sublime-snippet,避免空格和特殊符号 - 每个 snippet 必须包含合法的 XML 结构,尤其是
和字段
log source.js Log to console
同步失败常见原因与修复
执行 SyncSettings: Upload 后无反应或报错,大概率是以下情况之一:
- Gist ID 写错:检查
SyncSettings.sublime-settings中的"gist_id"是否是你私有 Gist 的 32 位十六进制 ID(不是 URL) - 网络策略拦截:公司防火墙或代理可能屏蔽
api.github.com,可临时关闭代理测试 - snippet 文件编码异常:确保所有
.sublime-snippet是 UTF-8 无 BOM 格式(用 Sublime 自身「File → Save with Encoding」确认) - 文件权限问题:Windows 下若 Sublime 以管理员运行,但
Packages/User/在 OneDrive 或受控目录,可能导致写入失败
真正容易被忽略的是:SyncSettings 不会自动监听文件变化,每次修改 snippet 后必须手动 Upload;它也不做增量 diff,而是全量覆盖 Gist 内容。如果多人协作,务必约定好上传节奏,避免覆盖他人改动。










