sublime text无内置同步功能,可靠方案是手动锁定packages/user目录并用符号链接+云盘实时同步;sync settings插件已停更,仅同步有限文件、不处理换行符与权限问题,易致快捷键失效或配置丢失。

为什么 Sync Settings 插件不推荐启用
Sync Settings 是第三方插件,已多年未维护,且功能严重受限:
• 它只上传 Preferences.sublime-settings、Package Control.sublime-settings 和平台专属的 Default (Windows).sublime-keymap 等有限文件,漏掉插件配置(如 SideBarEnhancements.sublime-settings)就等于丢功能
• github_token 和 gist_id 必须同时非空,否则每次上传都新建 Gist,旧配置彻底丢失
• 不处理换行符:Windows 的 CRLF 同步到 macOS,Default (OSX).sublime-keymap 解析失败,快捷键全灭,且无任何错误提示
• 企业网络或机场 Wi-Fi 常拦截 api.github.com,导致 HTTP 401 或超时,你却以为“上传成功”
必须同步的三类文件位置和范围
所有个性化配置只存在于 Packages/User/ 下,其他目录一律不碰:
• Preferences.sublime-settings:字体、缩进、主题、UI 行为等全局设置
• Package Control.sublime-settings:关键字段 installed_packages 决定哪些插件自动重装
• 平台快捷键文件:Default (Windows).sublime-keymap(Windows)、Default (OSX).sublime-keymap(macOS)、Default (Linux).sublime-keymap(Linux),缺一不可
• 所有 *.sublime-snippet:只有放在这里才被识别;插件自带的 snippet(如 Packages/Emmet/snippets/)不会被加载
• 各插件用户配置:Emmet.sublime-settings、BracketHighlighter.sublime-settings 等,全在 User/ 下
用符号链接 + 云盘实现零配置实时同步
这是目前最稳、最轻量、无需 Git 命令的方案,但操作细节决定成败:
• 务必先退出 Sublime Text —— macOS 要点菜单栏 Sublime Text → Quit Sublime Text,Windows 要进任务管理器确认 subl.exe 或 sublime_text.exe 进程已消失
• 用 Preferences → Browse Packages… 确认真实路径,别硬记:
– Windows ST4:C:\Users\用户名\AppData\Roaming\Sublime Text 4\Packages\User
– macOS ST4:~/Library/Application Support/Sublime Text 4/Packages/User(注意空格要写成 Application\ Support)
– Linux:~/.config/sublime-text-4/Packages/User(ST4 路径含 -4,不是 -3)
• 把整个 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
• 云盘选 Dropbox 或坚果云;iCloud 同步 ~/Library/ 不稳定,OneDrive 对 %APPDATA% 有路径限制
容易被忽略但致命的细节
同步本身很简单,崩掉往往发生在这些地方:
• color_scheme 字段在 Preferences.sublime-settings 中引用了 .tmTheme 或 .sublime-color-scheme 文件,而这些文件默认不在 User/ 下,必须手动找出来一并放进云盘同步目录
• 多设备同时编辑同一个 .sublime-snippet,云盘可能生成冲突副本(如 log-debug.sublime-snippet-conflict-20261020),Sublime 会静默跳过该文件,片段按 Tab 就不触发
• 插件依赖的 Python 模块(如 package_control)出错,常见于缓存文件混入同步目录,只要确保 Session.sublime_session、Local/、*.cache 这三类文件完全不出现在云盘里,就能避开 ImportError: No module named 'package_control'











