如何在 Mac 上卸载 Markdown Preview
Markdown Preview 是一款免费的 MIT 许可 Mac 应用,用来渲染 .md 文件,自带 Quick Look 扩展,来自 markdownpreview.app 和它的 GitHub 项目。它的 bundle ID 是 doc.md-preview。它直接读你的 Markdown 文件,不留副本,所以移除应用不会动这些文件。有两件事先做比较好:用过「分享为链接」的话,分享出去的那份会在线上留 7 天,除非你停止分享;装过命令行启动器的话,应用删掉之后它们还在 shell 的路径里。本文覆盖项目 GitHub Release 的磁盘映像和 Homebrew cask markdown-preview。
停止分享、退出并移除应用
- 在 Markdown Preview 里逐个打开分享过的文档,选 File › Manage Shared Document… 停止分享。按项目的 README,不停止的话链接会保留 7 天。
- 按 Command + Q 退出 Markdown Preview。
- 打开访达,进入「应用程序」,把 Markdown Preview 拖进废纸篓。Quick Look 扩展在应用包里,会一起走。
- 用过应用菜单里的 Install CLI 的话,把它建的启动器也移除。更新日志写了它们叫
mdp、md-preview和markdown-preview,没写在哪个文件夹,所以用下面的检查命令找,只删指向Markdown Preview.app的链接。
测试里应用没有注册登录项,也没有启动代理。
数据在哪里
在访达按 Shift + Command + G 逐项打开,不存在的路径跳过即可。这个应用开了沙盒,它存的东西大多在容器里。
| 位置 | 内容 | 处理建议 |
|---|---|---|
~/Library/Containers/doc.md-preview |
应用沙盒里的文件,比如缓存和崩溃状态,里面没有文档,你的 Markdown 文件留在保存它们的地方 | 移除。Mole 默认勾选。 |
~/Library/Containers/doc.md-preview.quick-look |
Quick Look 扩展的沙盒文件 | 移除。Mole 默认勾选。 |
~/Library/Application Scripts/doc.md-preview 和 ~/Library/Application Scripts/doc.md-preview.quick-look |
macOS 给沙盒应用建的文件夹,测试时是空的 | 移除。Mole 默认勾选。 |
~/Library/Group Containers/5P3TSMNV42.doc.md-preview 和 ~/Library/Application Scripts/5P3TSMNV42.doc.md-preview |
应用和扩展共用的存储,以开发者团队 ID 加应用的 bundle ID 命名 | 移除。Mole 列出供审查,默认勾选。 |
getconf DARWIN_USER_CACHE_DIR 打印出的文件夹,加上 doc.md-preview |
Mole 的临时缓存行,测试里 20 KB | 移除。Mole 默认勾选。 |
~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/doc.md-preview.sfl4 |
macOS 为这个应用记的「最近使用」列表 | 留着也没关系。Mole 可能会列出这个应用自己的列表,com.apple.sharedfilelist 里的其他文件不要动。 |
检查结果
pgrep -il 'markdown preview'
ls -d "$HOME/Library/Containers/doc.md-preview" "$HOME/Library/Containers/doc.md-preview.quick-look" "$HOME/Library/Group Containers/5P3TSMNV42.doc.md-preview"
command -v mdp md-preview markdown-preview
ls -l "$(command -v mdp)"
pgrep没有输出,表示应用没在跑。打印出一行就是还活着的进程,退出它。ls -d打印出来的路径仍然存在,No such file or directory表示已经没了。两个容器最可能留下来,见下面的测试记录。command -v没有输出,表示路径里没有启动器。打印出路径的话,那是一个启动器,ls -l会显示它指向哪里。指向Markdown Preview.app的话,只移除这个链接。
容器留下来的话,先退出应用。在访达按 Shift + Command + G,打开 ~/Library/Containers,把文件夹拖进废纸篓。macOS 有时会拒绝移动沙盒数据,被拒的话,去系统设置 › 隐私与安全性 › 完全磁盘访问权限给 Mole 授权,让它来移动这一行,或者之后自己再删。
用 Homebrew 安装时
brew uninstall --cask markdown-preview
这个 cask 会退出应用、移除它,并移除它建的 mdp 链接。它的 zap 清单会删掉三个 Application Scripts 文件夹、两个容器、组容器、~/Library/Caches/doc.md-preview、~/Library/HTTPStorages/doc.md-preview、~/Library/Preferences/doc.md-preview.plist 和「最近使用」文件,其中没有你的 Markdown 文件。直接运行 brew uninstall --cask --zap markdown-preview 不读取 Mole 的勾选。zap 的每条路径都在 ~/Library 里,但 Mole 只在整个移除范围都通过 zap 检查时才加 --zap:扫描没列出的路径、没勾选的行、超出审查范围的路径,或者被别的已安装应用认领的路径都会让它关掉,之后你勾选的行由 Mole 自己移除。
账号和订阅
这个应用不需要账号。用「分享为链接」分享的文档是加密后上传到 md-preview.app 的,第一步里的停止分享才会结束它,移除应用不会。
Mole 会列出什么
Mole 默认勾选应用、两个 Application Scripts 文件夹、两个以 bundle ID 命名的容器和临时缓存行。组容器和带团队前缀的 Application Scripts 文件夹以应用自己的 bundle ID 命名,会列出供审查并默认勾选。移除之前 Mole 会请应用退出,它不会去找命令行启动器。移动容器需要完全磁盘访问权限,没有的话 Mole 的报告会请你授权。
这次检查覆盖了什么
2026 年 11 月 9 日,这次检查从项目的 GitHub Release 下载了 Markdown Preview 0.0.71 磁盘映像(Universal),校验和与 Homebrew cask 一致,把应用拷进「应用程序」,没有运行 brew install,启动一次、退出,再用源码构建的 Mole 勾上所有审查行卸载。Mole 把应用、Application Scripts 文件夹和临时缓存行移进了废纸篓。两个容器留了下来,因为测试用的构建没有完全磁盘访问权限,macOS 拒绝了移动。第一次运行时组容器停在 macOS 的「访问其他 App 的数据」弹框上,没有结果;弹框回答之后重测,Mole 把它移走了。「最近使用」文件没有被列出,留在原处。状态页显示一行 Markdown Preview,4 个进程,Mole 检测到这个应用有 Sparkle 更新源,没有执行更新。分享为链接、命令行启动器、移除后的 Quick Look 预览、Homebrew 卸载和 Mole 公证发布版都没有测。
