只同步User目录就能覆盖95%的插件配置,因为插件行为由已安装插件(Installed Packages)和个性化设置(全在Packages/User)共同决定;Package Control会根据User/Package Control.sublime-settings中的installed_packages列表自动补装插件,而所有开关、快捷键、主题等均存于User下JSON文件中。

只同步 User 目录就能覆盖 95% 的插件配置
Sublime Text 的插件行为由两部分决定:已安装的插件本身(存于 Installed Packages),和你对它们的个性化设置(全在 Packages/User)。但实际同步时,只需同步 User 目录即可让绝大多数插件“看起来一样”——因为 Package Control 会根据 Package Control.sublime-settings 中的 installed_packages 列表自动拉取缺失插件,而所有你调过的开关、快捷键、主题偏好都落在 User 下的 JSON 文件里。
常见错误是试图同步整个 Packages 目录,结果导致不同平台(比如 Windows 和 macOS)下插件二进制文件冲突、加载失败,甚至引发启动卡死。正确做法永远是:只动 User,其他交给 Package Control 自动补全。
-
User/Preferences.sublime-settings:字体、缩进、UI 主题等全局设置 -
User/Package Control.sublime-settings:必须包含完整插件名列表,如"ChineseLocalization"、"SideBarEnhancements" -
User/ChineseLocalization.sublime-settings(若汉化):控制翻译粒度,漏掉它新设备就显示英文菜单 -
User/Key Bindings.sublime-keymap:所有自定义快捷键,F5 编译、Ctrl+Shift+P 命令面板等都靠它
用 ln -s 或 mklink /J 创建符号链接才是真同步
手动复制粘贴 User 文件夹不是同步,只是快照备份。真正实时、双向、免操作的同步,依赖操作系统级的符号链接(symlink)把本地路径指向云盘里的同一份 User。
Windows 用户必须用管理员权限运行命令提示符执行:mklink /J "C:\Users\用户名\AppData\Roaming\Sublime Text 3\Packages\User" "D:\Dropbox\sublime-sync\User"
macOS/Linux 用户在终端执行:ln -s ~/Dropbox/sublime-sync/User ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User
关键点:
- 操作前务必关闭 Sublime Text,否则链接创建后 Sublime 可能仍读写原路径缓存,导致配置不生效
- 云盘(如 Dropbox、OneDrive)必须已登录且同步状态正常;链接目标路径不能存在同名文件夹
- 不要用普通快捷方式或资源管理器“发送到桌面”,只有
mklink或ln -s创建的才是 Sublime 能识别的合法链接
插件没自动装?检查 Package Control.sublime-settings 的格式
同步完 User 目录后,如果新设备上插件没自动安装,大概率是 Package Control.sublime-settings 里 installed_packages 字段格式不对。这个文件必须是标准 JSON,且数组元素必须是字符串,不能带尾逗号、注释或多余空格。
错误示例(Sublime 会静默忽略整个文件):{"installed_packages": ["SideBarEnhancements", "ChineseLocalization",]}
正确写法:{"installed_packages": ["SideBarEnhancements", "ChineseLocalization"]}
另外注意:
- 确保该文件位于
User/下,而非Installed Packages/或其他位置 - 如果插件依赖其他包(如某些主题需先装
Theme - Spacegray),Package Control 不会自动递归安装,需手动触发Package Control: Satisfy Dependencies - 首次启动时网络要通畅,否则 Package Control 会跳过安装并记录错误到控制台(
Ctrl+`查看)
跨平台同步时 platform 键比想象中重要
你在 Windows 上设了 "font_face": "Consolas",到了 macOS 上可能字体不可用,界面文字糊成方块。Sublime 支持在 .sublime-settings 文件里用 platform 键做条件配置,避免硬编码导致跨平台失效。
例如,在 Preferences.sublime-settings 中这样写:
{
"font_size": 12,
"ignored_packages": ["Vintage"],
"font_face": {
"windows": "Consolas",
"osx": "Menlo",
"linux": "DejaVu Sans Mono"
}
}但注意:font_face 本身不支持对象语法——这是个常见误区。真正支持 platform 条件的是整个 settings 文件顶层字段,所以正确写法是拆成多个文件:
-
User/Preferences.sublime-settings(通用设置) -
User/Preferences (Windows).sublime-settings(仅 Windows 生效) -
User/Preferences (OSX).sublime-settings(仅 macOS 生效)
Sublime 会自动合并加载,同名字段以平台专属文件为准。漏掉这步,多设备间字体、快捷键、构建系统就容易错乱。


















