只同步Packages/User目录就足够了,因其集中存储主题、缩进、快捷键、代码片段、插件开关等全部用户配置,不含插件源码或运行缓存;需同步的仅.sublime-settings、.sublime-keymap、*.sublime-snippet三类文件,插件配置如Emmet.sublime-settings也在此目录。

只同步 Packages/User/ 目录就足够了
Sublime Text 所有你能改的配置——主题、缩进、快捷键、代码片段、插件开关和用户级设置——全在 Packages/User/ 里。它不包含插件源码、Python 缓存(__pycache__/)、会话文件(Session.sublime_session)或本地缓存(Package Control.cache)。硬拷整个 Packages/ 或 Data/ 目录,大概率触发:ImportError: No module named 'package_control'、插件菜单变灰、.sublime-snippet 在 Ctrl+Shift+P 里可见但 Tab 不展开——这些都不是配置写错了,是缓存/路径校验失败导致的静默拒绝加载。
需要同步的文件类型只有三类:*.sublime-settings、*.sublime-keymap、*.sublime-snippet。插件自己的配置(如 Emmet.sublime-settings)也落在此目录,一并同步即可。注意:color_scheme 字段引用的 .tmTheme 或 .sublime-color-scheme 文件不在 User/ 内,得单独找出来放进云盘同一层级。
mklink /J(Windows)或 ln -s(macOS/Linux)才是真自动同步
符号链接不是复制,是把云盘里的 User/ “挂载”到 Sublime 原本读取的位置。改一处,几秒内另一台设备就能看到,不用手动拉取、不用 git pull、不依赖插件。但前提是操作前必须完全退出 Sublime Text——否则文件被锁,链接创建失败,或后续修改不同步。
- 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 - 链接前务必删掉原
User/目录,不能重命名,否则链接指向空目录 - iCloud 和 OneDrive 对
~/Library或%APPDATA%同步支持不稳定,Dropbox 或坚果云更可靠
Git 同步适合需要回滚或多人协作的场景
Git 不实时,但能防误删、查谁改了哪行、还原到上周的快捷键配置。新设备首次 setup 要多两步:先装好 Package Control,再把 Git 克隆下来的 User/ 放进去,否则 installed_packages 列表不会触发自动安装。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
关键动作:
- 在
User/下建.gitignore,至少排除:*.cache、Session.sublime_session、Local/、Cache/ - 提交时用
git add -f *.sublime-settings *.sublime-keymap *.sublime-snippet,避免漏掉隐藏文件 - 别用
git push同步二进制主题文件(.tmTheme),它们无法 diff,且极易冲突
跨平台换行符和 scope 写错是静默失效的主因
你改完一个 .sublime-snippet,发现按 Tab 没反应,90% 是这两类问题:
- 换行符混用:Windows 写的 CRLF 被 macOS/Linux 的 LF 解析器跳过——用编辑器统一转成 LF(VS Code 或 Sublime 自身的
View → Line Endings → Unix (LF)) -
scope值写错或拼写不一致:比如写成source.python却想在 Markdown 里触发;或者用了不存在的 scope(如text.html.vue但没装 Vue 插件) - XML 格式错误:少闭合标签、属性没加引号、中文字符未转义,Sublime 会静默忽略整个 snippet,不报错也不提示
真正麻烦的从来不是怎么同步,而是同步之后没人检查换行符和 scope 是否跨平台兼容——这两处出错,配置看起来“同步成功”了,实际功能全失效。

















