Sublime Text 无内置云端同步,需手动同步Packages/User/下的.sublime-settings、.sublime-keymap、*.sublime-snippet三类文件;推荐符号链接+云盘实现零配置实时同步,或Git管理但需手动提交推送。

Sublime Text 没有内置的云端同步功能,所有“自动同步代码片段”的说法都是错觉——你必须手动控制 Packages/User/ 目录的存放位置和更新方式。
为什么直接复制整个 Packages 目录会失败
因为 Packages/ 里混着三类东西:User/(你的配置)、插件源码(如 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/ 下这三类文件就够了
真正该同步的只有:*.sublime-settings、*.sublime-keymap、*.sublime-snippet。其他文件(比如插件自己的 .py 或缓存)一律忽略。原因很实在:
-
Preferences.sublime-settings控制字体、缩进、主题等全局行为 -
Package Control.sublime-settings里installed_packages列表决定装哪些插件 -
log-debug.sublime-snippet这类文件才是你写的片段,且只放在这里才被 Sublime 正确识别 - 各插件的用户配置(如
SideBarEnhancements.sublime-settings)也落在User/下,一并同步即可
用符号链接 + 云盘实现零配置实时同步
这是最轻量、最接近“自动”的方式,适合只在几台个人设备间同步、不想碰 Git 命令的人。核心是“移动 + 链接”,不是复制粘贴。
- 操作前务必退出 Sublime Text,否则文件被锁,链接会失败或内容不同步
- 用
Preferences → Browse Packages…确认当前User/路径,别死记硬背(ST4 用户注意把路径里的3换成4) - 把整个
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 - 重启 Sublime,改一个
.sublime-snippet,几秒内就能在另一台设备上看到
Git 同步更可控,但不会自动 push
Git 是目前唯一能解决并发修改、版本回溯、跨平台换行统一的方案。但它不会自动帮你同步——你得自己执行 git add、git commit、git push。
- 退出 Sublime 后,在
Packages/User/目录下执行:git init && git add *.sublime-snippet *.sublime-settings *.sublime-keymap && git commit -m "init" - 加一行
.gitignore:!*.sublime-snippet(白名单) +*(其余全忽略) - 另一台设备克隆后,**不要直接覆盖原
User/目录**,而是用符号链接指向它(ln -s或mklink /J) - 每次改完设置,Sublime 不会自动帮你
git push—— 你得自己git add && git commit && git push
最容易被忽略的是:同步成功 ≠ 片段生效。即使文件已拉取,如果 scope 写成 source.js 却用在 .vue 文件里,或者换行符是 CRLF,Sublime 就会静默跳过加载——此时要按 Ctrl+Shift+P → Developer: Show Scope Name 核对真实 scope,别信文件名或路径。


















