如何在 Mac 上卸载 TextExpander
卸载 TextExpander 前,先保存并复制片段组和未同步的本地修改到独立备份,再打开副本确认内容,这里以官网 Mac 包为主,Homebrew 的处理另列在下面。
卸载前在服务端或其他已连接设备确认需要保留的作品和文件,把本地内容复制到所有同步根目录之外,打开副本后再退出,移动同步文件可能把删除传到其他端,卸载应用也不会删除账号或取消订阅。
退出并移除应用
结束当前任务并退出 TextExpander,先在活动监视器确认进程已退出,再到 Finder 的应用程序目录把 TextExpander.app 移入废纸篓,放在其他位置时用实际路径,备份确认前保留废纸篓。官方文档
检查结果
这条只读命令搜索进程的完整命令行,不检查磁盘内容。
pgrep -ifl 'TextExpander'
没有输出且退出码为 1,表示未找到匹配的进程命令行,输出条目时到活动监视器核对,也可能命中无关进程,报错不证明已卸载,还要到原 Finder 位置确认应用不在,保留的数据目录或独立组件不表示应用仍安装。
用 Homebrew 安装时
按已安装的 cask 记录卸载,不加 zap。
brew uninstall --cask textexpander
这条命令移除 cask 管理的应用内容,不运行 zap。当前 cask 另列了下面的 zap 目标,会删除设置、本地数据或集成文件,这是 Homebrew 的清单,不是厂商公布的数据路径。
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.smileonmymac.textexpander.json~/Library/Application Support/TextExpander~/Library/Caches/com.smileonmymac.textexpander~/Library/Preferences/com.smileonmymac.textexpander.plist~/Library/Saved Application State/com.smileonmymac.textexpander.savedState~/Library/Webkit/com.smileonmymac.textexpander
直接执行 brew uninstall --cask --zap textexpander 会运行自己的 zap 范围,不读取 Mole 的勾选项,Mole 只有在完整范围通过检查时才使用 zap,未勾选或共享的路径、审查范围之外的路径、未知条目和不支持的指令都会阻止它,已勾选残留仍走 Mole 的删除流程。
Mole 会列出什么
~/Library/Application Support/TextExpander 是应用数据,列出供单独审查,默认不勾选,需要本地片段或设置时保留,~/Library/Preferences/com.smileonmymac.textexpander.plist 和按完整应用标识匹配的缓存未受保护时默认勾选,记录中的 Chrome 集成文件是 ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.textexpander.textexpander.json,cask 中名称不同的条目是另一项集成目标,不是整个 Chrome 配置。
以上默认状态以“卸载时一并移除数据和配置”关闭为前提,开启后也会勾选符合条件的待审查应用数据,共享存储和受保护数据仍保留单独审查或锁定。
这次检查覆盖了什么
以下是 2026 年 10 月 3 日的测试范围,官网应用首启时未登录,也未授予额外权限,随后用源码构建的 Mole 卸载,审查路径卸后不在,首启扫描只覆盖部分路径,没有验证片段展开、云端同步和订阅取消。
