sublime如何备份自己的所有插件和配置?(环境迁移)

2次阅读

插件和配置分别存于packages/各子目录和packages/user目录;需备份整个packages和installed packages文件夹,且必须关闭sublime text进程后再操作。

sublime如何备份自己的所有插件和配置?(环境迁移)

插件和配置都存在哪个目录里?

sublime text 的用户数据全在 Packages/User 目录下,但别只盯这儿——真正要备份的其实是整个 Packages 文件夹(含已安装插件)和 Installed Packages 文件夹(含 .sublime-package 二进制包)。Preferences.sublime-settings、所有 *.sublime-keymap*.sublime-build 都在 Packages/User 里;而插件源码(比如 Package Control 解压后的文件夹)就散落在 Packages/ 同级各子目录中。

windows 默认路径:%APPDATA%Sublime TextPackages%APPDATA%Sublime TextInstalled Packages
macos~/Library/Application Support/Sublime Text/Packages/~/Library/Application Support/Sublime Text/Installed Packages/
linux~/.config/sublime-text/Packages/~/.config/sublime-text/Installed Packages/

直接复制整个 Packages 和 Installed Packages 行不行?

行,但有前提:必须确保目标机器没运行 Sublime Text。只要 Sublime 在后台活着,它会锁住 Installed Packages 里的 .sublime-package 文件,并可能在你复制时覆盖 Packages/ 下正在被热重载的插件目录,导致部分插件丢失或损坏。

  • 关掉所有 Sublime Text 进程(包括托盘里的)
  • 备份前先检查 Packages/ 下有没有名字带 ~.tmp 的临时目录——那是异常退出留下的残骸,不用备份
  • Installed Packages/ 里如果混着旧版插件的 .sublime-package(比如 Emmet.sublime-package),而 Packages/ 里又有同名解压目录,优先保留解压目录,删掉 .sublime-package——因为解压版才是当前生效的

为什么不能只备份 User 目录?

因为 Packages/User 只存你的个性化配置,不存插件本身。比如你装了 SideBarEnhancements,它的核心逻辑在 Packages/SideBarEnhancements/,不在 User 里。只备份 User,新环境里插件根本不会出现,或者报 command not found 错误。

更隐蔽的坑是:某些插件(如 Package Control)会在首次启动时自动重建 Packages/ 下的自身目录,但重建的版本可能和你原来用的不一致——尤其当你之前手动改过插件源码,或用了 fork 分支。

  • 确认 Packages/Package Control/ 是否存在且非空,否则迁移后 ctrl+shift+p 打不开命令面板
  • 如果你用过 git clone 方式安装插件(比如放到 Packages/ 下某个 git 仓库),记得连 .git 文件夹一起备份,不然重装后无法 git pull 更新

迁移后怎么验证插件真生效了?

别只看菜单里有没有选项,得测真实行为。比如 BracketHighlighter 要打开一个带括号的文件,看高亮是否出现;SublimeLinter 要改一行代码触发 lint 报错。常见失效现象:

  • 快捷键失灵 → 检查 Packages/User/default (XXX).sublime-keymap 是否被覆盖,或插件目录名拼写大小写不对(macOS/Linux 区分大小写)
  • 右键菜单没新增项 → 插件没加载,用 ctrl+` 打开控制台,看有没有 ImportErrorno module named
  • Package Control 显示 “No packages available” → Packages/Package Control/ 缺文件,或 Package Control.sublime-settingsbootstrapped 设成了 false

最省事的验证动作:重启 Sublime,按 ctrl+shift+p,输入 Package Control: List Packages,看列表是否和旧环境一致。少一个,就回去查那个插件目录是否存在、是否可读。

插件依赖 Python 环境,而 Sublime 自带的 Python 版本(3.3 / 3.8)和插件要求可能不匹配——这种问题没法靠备份解决,得单独处理。

text=ZqhQzanResources