唯一应同步的是packages/user/目录,因其仅含用户手动配置文件(如preferences.sublime-settings、package control.sublime-settings、快捷键文件、.sublime-snippet及插件用户设置),而硬拷整个packages目录会因混入插件源码、缓存和状态文件导致importerror、插件失效或代码片段不触发等问题;color_scheme引用的.tmtheme或.sublime-color-scheme文件需单独同步;推荐用符号链接+云盘实现零配置实时同步,或用git解决跨平台换行与版本冲突,但需手动git push。

只同步 Packages/User/ 目录,其他全别碰——这是唯一能让你换电脑后不重装、不调试、不抓狂的路径。
为什么硬拷整个 Packages 目录会失败
因为 Packages/ 里混着三类东西:Emmet/ 这类插件源码、Package Control.cache 这类本地缓存、Session.sublime_session 这种实时状态文件。不同机器上 Python 环境、插件版本、甚至换行符(CRLF vs LF)稍有差异,就会触发:
-
ImportError: No module named 'package_control'—— 缓存被覆盖后初始化失败 - 插件菜单消失或设置项变灰 —— 插件检测到路径与缓存不匹配,拒绝加载
- 代码片段显示在
Ctrl+Shift+P里,但按Tab不触发 —— XML 解析静默跳过(常见于 scope 写错或换行符损坏)
真正该同步的只有这三类文件
所有你手动改过的配置,都明文落在 Packages/User/ 下,包括:
-
Preferences.sublime-settings(字体、缩进、主题等全局设置) -
Package Control.sublime-settings(含installed_packages列表,决定装哪些插件) -
Default (Windows).sublime-keymap或对应平台的快捷键文件 -
*.sublime-snippet(自定义代码片段) - 各插件的用户配置,如
SideBarEnhancements.sublime-settings
注意:color_scheme 字段指向的 .tmTheme 或 .sublime-color-scheme 文件本身不在 User/ 里,得单独找出来一并同步。
用符号链接 + 云盘实现零配置实时同步
这是最省事、最接近“自动”的方式,适合不想碰 Git 命令的人。核心是“移动 + 链接”,不是复制粘贴。
- 操作前必须退出 Sublime Text,否则文件被占用,链接会失败或内容不同步
- 把原
Packages/User/整个文件夹移到云盘(如Dropbox/SublimeConfig/User) - 删除原
User/目录 - 在原位置创建符号链接:
Windows(管理员 CMD):mklink /J "C:\Users\用户名\AppData\Roaming\Sublime Text 4\Packages\User" "D:\Dropbox\SublimeConfig\User"
macOS/Linux(终端):ln -s ~/Dropbox/SublimeConfig/User ~/Library/Application\ Support/Sublime\ Text\ 4/Packages/User - ST4 用户记得把路径里的
3换成4;macOS 路径中空格要转义;Linux 路径里别含中文
用 Git 同步更可控,但得自己 push
Git 是目前唯一能解决并发修改、版本回溯、跨平台换行统一(LF)的方案,但它不会自动帮你同步——你得自己执行 git add、git commit、git push。
- 退出 Sublime 后,在
Packages/User/目录下执行:git init && git add . && git commit -m "init" -
.gitignore只留两行:!*.sublime-snippet和*(前者白名单,后者通杀其余) - 另一台设备克隆后,用符号链接指向它(
ln -s或mklink /J),不要直接覆盖原目录 - 改完设置后,Sublime 不会自动帮你
git push—— 你得自己来
网盘同步看似简单,但多设备同时编辑同一 .sublime-snippet 会生成 .sync-conflict,Sublime 直接跳过加载;iCloud 还会同步 .DS_Store 导致 XML 解析失败且无报错。这些坑,比写错一个 scope 还难排查。











