不能软链接packages或cache目录,因其中缓存文件含机器特有路径哈希、python环境依赖及ui状态快照,跨设备复用会导致importerror、菜单变灰、功能失效;仅应安全软链接纯文本的packages/user目录。

不能通过软链接共享插件缓存目录——这是个危险操作,会直接导致 ImportError: No module named 'package_control' 或插件菜单变灰等故障。
为什么不能软链接 Packages 或 Cache 目录
插件缓存(如 Package Control.cache、__pycache__、Session.sublime_session)是 Sublime Text 运行时生成的本地状态文件,包含:
- Python 模块导入路径哈希值(依赖当前机器的 Python 环境和插件版本)
- 插件加载时的绝对路径校验信息
- UI 状态快照(比如打开的标签页、折叠区域)
不同设备上哪怕只是 Python 小版本差异(3.10 vs 3.11)、插件更新时间差几秒、或换行符(CRLF/LF)不一致,都会让缓存失效。软链接过去后,Sublime 会尝试复用这些损坏/不匹配的缓存,结果就是:
-
Package Control初始化失败,命令面板搜不到Install Package - 已安装插件在菜单里显示为灰色,设置项不可点
- 某些插件(如
Emmet)的快捷键或补全功能静默失效
真正该软链接的只有 Packages/User
这个目录只含纯文本配置,无运行时依赖,跨设备兼容性高。软链接它才是安全且有效的做法:
-
Preferences.sublime-settings:字体、缩进、自动保存等全局行为 -
Package Control.sublime-settings:里面installed_packages字段记录插件名列表,是重装依据 -
Default (Windows).sublime-keymap(或对应平台文件):自定义快捷键 -
*.sublime-snippet:代码片段,XML 格式,只要 scope 和换行符正确就能加载
注意:color_scheme 字段引用的 .tmTheme 或 .sublime-color-scheme 文件不在 User 目录里,需单独同步到 Packages/ 同级目录(如 Packages/Color Scheme - Default/),否则主题会回退到默认。
软链接操作中容易踩的坑
即使只软链接 User 目录,也常因细节出错导致同步失败:
- Windows 下必须用
mklink /J(目录联接),不能用/D(符号链接),否则 Sublime 启动时无法识别 - macOS/Linux 用
ln -s时,目标路径不能带尾部斜杠(/),否则链接损坏 - 创建软链接前没关闭 Sublime Text,会导致部分文件被锁定,链接后出现“文件正在使用”错误
- 云盘(如 Dropbox)同步延迟期间,某台设备修改了
Package Control.sublime-settings,另一台还没拉取就重启 Sublime,可能触发插件重复安装或冲突
最稳妥的做法:每次修改后手动触发一次 git push(如果走 Git 方案),或确认云盘客户端显示“已同步”再切换设备。
软链接不是万能的,它只是把读写路径映射过去;真正决定同步成败的,是只碰 User 目录、避开所有带 .cache、__pycache__、.session 后缀的文件——这些都该被排除在同步之外。











