如何在 Mac 上卸载 Emacs
GNU Emacs 可能读取 ~/.emacs.d/init.el、~/.config/emacs/init.el、~/.emacs 或 ~/.emacs.el。先查自己实际用哪一份,复制配置、包和 snippets,再考虑清理编辑器数据;项目仍留在原目录。Homebrew cask 的 zap 清单没有 ~/.emacs.d,但 Mole 可把它列为审查行。
这次实测使用官网 Mac 安装包,Homebrew 的处理方式另见下文。
退出并移除应用
退出图形版 Emacs,把「应用程序」中的 Emacs.app 移到废纸篓。若另有 Emacs daemon 或命令行安装,按它自己的来源处理;卸载这个 App 不需要删除整个 ~/.config 或一组家目录隐藏文件。
核对本机数据
下面的路径来自厂商文档。在访达用「前往 › 前往文件夹」查看,不要删除它的上层目录或同厂其他产品的数据。
| 位置 | 如何处理 |
|---|---|
~/.emacs.d |
GNU 手册列出的配置及包目录之一,Mole 作为审查行列出;其他 Emacs 安装还在使用时要保留。 |
测试包的 bundle ID 是 org.gnu.Emacs。只检查本机实际出现的文件,路径不存在就不用处理。
核对卸载结果
退出应用后,运行下面两条只读命令:
pgrep -il 'Emacs'
ls -d "$HOME/.emacs.d"
pgrep 没有输出,只说明当前没有同名进程,不代表所有辅助组件都已移除;若列出进程,先确认归属。ls 打印路径说明这一项仍在,应查看内容;提示「No such file or directory」说明这一处不存在,权限错误则表示这次没能查清。
用 Homebrew 安装时
当前 emacs-app cask 的 zap 清单包含 org.gnu.Emacs 缓存、偏好设置及窗口状态;其中没有 ~/.emacs.d。自己运行带 --zap 的 brew 卸载,会照 cask 清单处理这些文件,不读取 Mole 里的勾选。备份后用不带 --zap 的命令卸载 cask:
brew uninstall --cask emacs-app
Mole 会按勾选状态、其他已安装应用和受保护位置核对 zap 清单;未勾选、共用或无法确认的路径会使它跳过 --zap,已勾选的残留仍由 Mole 自己的流程处理。这次实测没有使用 Homebrew。
Mole 会列出什么
Mole 找到 ~/.emacs.d 时把它列为默认不勾选的审查行,精确 org.gnu.Emacs 偏好设置默认勾选。它不会生成宽泛的 ~/.emacs* 清理模式,也无法推断独立 CLI Emacs 实际使用哪份初始化文件。
这次检查覆盖了什么
2026 年 9 月 21 日用 emacsformacosx 的官网 universal Emacs.app 31.1 测试,审查中只有应用和偏好设置。空的 ~/.emacs.d 当次没列出,之后才补了审查规则;没有测试用户配置或项目。
