Sublime Text 无可靠自动云端同步功能,必须通过外部工具链实现;Sync Settings插件仅同步极简设置且已弃用,完整同步需锁定Packages/User目录,排除Session.sublime_session等本地状态文件,并用Git或云盘+符号链接持续维护。

Sublime Text 本身不提供可靠、完整的自动云端同步功能,所谓“自动同步”实际都依赖外部工具链组合实现;直接开启 Sublime 自带的 Sync Settings(如果还存在)或依赖插件做全量同步,大概率会丢插件、错快捷键、甚至启动失败。
为什么不能用 Sublime 自带的 Sync Settings
这个功能早已被官方弃用,且从未覆盖完整配置:它只同步极简的 Preferences.sublime-settings 中少量字段(如字体大小、制表符宽度),完全不碰 Key Bindings.sublime-keymap、插件专属配置、Package Control.sublime-settings 里的 installed_packages 列表。更关键的是,它无法处理平台差异——比如 Windows 和 macOS 的快捷键文件名不同(Default (Windows).sublime-keymap vs Default (OSX).sublime-keymap),同步后直接失效。
同步必须锁定 Packages/User 目录
所有你改过的设置都在这儿:主题、缩进、侧边栏行为、快捷键、代码片段、插件开关和参数。其他目录(如 Emmet/、SideBarEnhancements/)是插件本体,由 Package Control 管理,不该手动同步。
- 路径必须用
Preferences → Browse Packages…确认,别硬记:%APPDATA%\Sublime Text 3\Packages\User(Windows)、~/Library/Application Support/Sublime Text 3/Packages/User(macOS)、~/.config/sublime-text-3/Packages/User(Linux) - 务必排除
Session.sublime_session、Local/、*.cache—— 这些是本地运行时状态,同步会导致标签页丢失、插件报No module named 'package_control' - 必须保留并提交:
Preferences.sublime-settings、Package Control.sublime-settings(含installed_packages)、平台对应快捷键文件
Dropbox / 坚果云 + 符号链接最省事但有雷区
它能实时同步,但前提是操作顺序和权限完全正确。出错不是云盘问题,而是 Sublime 写入和云服务冲突。
- 必须先退出 Sublime Text(包括后台进程),否则
Session.sublime_session被锁,复制或链接时损坏 - Windows 要用管理员 CMD 执行
mklink /J;macOS/Linux 用ln -s,路径空格要转义或加引号 - iCloud 对
~/Library/同步支持极差,OneDrive 对%APPDATA%有路径限制,优先选 Dropbox 或坚果云 - 不同系统换行符(CRLF/LF)会让
.sublime-keymap解析失败——快捷键突然全灭,这时要手动用 VS Code 重存为 LF 格式
Git 同步最可控,但得习惯手动提交
它不自动,但每一步可追溯、可回滚、跨平台一致。适合常改配置或需要协作的人。
- 仓库根目录不要设在
Packages/内,而是在其同级建sublime-user-config,再把User-backup里内容复制进去 -
.gitignore至少写三行:Session.sublime_session、Local/、*.cache - 每次改完设置后,必须手动
git add . && git commit -m "update keymap"再git push—— Sublime 不知道你在用 Git,也不会替你提交 - 新设备上克隆后,用符号链接指向它,而不是直接覆盖
User文件夹,避免残留缓存干扰
真正容易被忽略的点是:同步不是一次性的动作,而是持续维护的习惯。无论是用网盘还是 Git,只要你在某台机器上改了设置却忘了提交或没等云盘完成同步就切到另一台,就会立刻看到配置不一致。最稳的方式,是把 User 目录当成代码一样对待——改即提交,推即生效,不跳步骤。











