同步Sublime Text需严格只同步Packages/User目录,禁用云盘同步整个Packages;删除冲突缓存及跨平台keymap文件;确保snippet语法正确、换行符为LF;创建符号链接前须完全退出Sublime。

同步时出现 ImportError: No module named 'package_control'
这不是插件坏了,是缓存路径被云盘覆盖后,Package Control 初始化失败。整个 Packages 目录不能同步,只同步 Packages/User 是硬性前提。
- 检查云盘里是否混入了
Package Control.cache、Session.sublime_session或插件源码目录(如Emmet/)——删掉它们 - 确认
Packages/User/Package Control.sublime-settings文件存在且包含"installed_packages"字段 - 退出 Sublime Text 所有进程(任务管理器杀光
subl.exe或 Activity Monitor 查找Sublime Text),再启动 - 如果仍报错,手动在控制台执行
import package_control看是否导入成功;失败则说明Packages/根目录下有残留冲突文件
Default (Windows).sublime-keymap 和 Default (OSX).sublime-keymap 同步后失效
Windows 和 macOS 的快捷键文件名不同,但云盘会把两个文件都拉到同一台设备上。Sublime 只加载匹配当前平台的那一个,另一个会被忽略——但如果文件内容损坏或换行符错乱(CRLF/LF 混用),它可能静默跳过整个解析过程。
- 确保每台设备只保留对应平台的
.sublime-keymap文件:Windows 保留Default (Windows).sublime-keymap,macOS 保留Default (OSX).sublime-keymap - 不要在跨平台编辑器里直接改这些文件;用 Sublime 自身打开、保存,它会自动处理换行符
- 若某台设备上快捷键突然全失效,先检查
Packages/User/下是否多出了错误命名的 keymap 文件(比如 macOS 上出现了Default (Windows).sublime-keymap)
代码片段出现在 Ctrl+Shift+P 里但按 Tab 不触发
常见于 .sublime-snippet 文件的 scope 写错、XML 格式不合法,或换行符损坏导致 Sublime 解析失败——它不会报错,只是跳过加载。
- 用 Sublime 打开 snippet 文件,选
View → Syntax → XML,看是否有高亮异常或红色波浪线 - 检查
<scope></scope>值是否拼写正确(比如source.python不是source.py),且与当前文件语法匹配 - 确认文件末尾无多余空行或不可见字符;保存时编码选
UTF-8,换行符选Unix (LF)(跨平台更稳) - 临时把所有
.sublime-snippet移出User/,逐个放回测试,定位问题文件
符号链接创建后配置不更新或指向空目录
最常发生在没彻底退出 Sublime 就操作,导致原 User/ 目录被锁住,剪切失败,后续链接指向一个空壳。
- 操作前必须关闭 Sublime Text,包括右下角托盘图标里的进程(Windows)或菜单栏图标(macOS)
- 创建链接后,用
Preferences → Browse Packages…确认打开的是云盘路径下的User,而不是空文件夹 - Windows 用管理员 CMD 运行
mklink /J;macOS/Linux 用ln -s时注意路径中空格要转义(\)或加引号 - 如果已建错,先删链接(
rd /s或rm),再删残留空User目录,重来一遍“移动 + 链接”
真正麻烦的从来不是同步动作本身,而是你忘了哪台设备上留着旧缓存、哪个 snippet 文件偷偷用了 Windows 换行符、或者某个 keymap 被 Git 自动转义过——这些细节不会报错,只会让功能静默消失。











