如何让 Mac 打开其他文件管理器而不是访达

你已经换用了别的文件管理器,访达却还是不断冒出来:在 Safari 里点按下载项旁边的放大镜,或在别的 App 里选择“在‘访达’中显示”,打开的都是访达窗口。你在系统设置里寻找“默认文件管理器”之类的选项,却找不到。
简单来说:macOS 没有任何能取代访达的设置,但有一项文件查看器偏好设置。当 App 请 macOS 显示某个文件时,macOS 会把请求交给登记在那里的 App;只要你没改过,那就是访达。在那里登记另一个文件管理器,这些“在‘访达’中显示”命令就会改为打开它。在 Folia Files 中只需一个开关:设置 › 通用 › Mac 集成 › 将 Folia Files 用作默认文件查看器。无论如何,访达都会继续运行,桌面仍然由它来显示。
为什么 Mac 没有“默认文件管理器”设置
访达不是普通的 App,而是 macOS 的一部分。它随登录启动,负责显示桌面及其图标,位于受保护的系统宗卷上,它的菜单里甚至没有“退出”命令。你无法卸载它,也无法用别的 App 取代它。
你能改变的,是“显示”文件的请求最终交给谁。这正好解决最常见的烦恼:其他 App 总把你带回访达。剩下的就是习惯问题:让你的文件管理器一键可达(见本文末尾)。
文件查看器设置的作用
告诉你文件在哪里的 App,很少自己去和访达打交道。许多 App 调用的是 macOS 的一个标准功能(属于 Apple 的 AppKit 框架),让项目“在文件查看器中”显示。这个功能会读取一项名为 NSFileViewer 的偏好设置:如果其中是另一个 App 的标识符,macOS 就会用那个 App 打开这些项目,而不是在访达中显示它们。
实际效果如下:
- App 在启动时读取它。 每个 App 会一直沿用读到的值,直到退出。修改之后,请退出并重新打开 Safari、邮件以及你常用的其他 App;在此之前,它们的“在‘访达’中显示”仍会打开访达。
- 命令名称不变。 菜单里仍然写着“在‘访达’中显示”:这段文字属于 App 本身,变的只是它通往哪里。
- 登记的 App 收到的是“打开”请求。 专门为此设计的文件管理器会在所在文件夹中显示该项目;换成其他 App,则只会直接打开文件。请只登记提供这一选项的 App。
- 它作用于你的整个用户账户。 这是所有 App 共用的一项设置,不能逐个 App 选择。
它不会改变的
- 访达照常运行。 它仍然显示桌面及其图标,它的图标仍在程序坞中,在桌面上连按一个文件夹,仍会在访达窗口中打开。
- 直接点名访达的 App,打开的仍是访达。 有些 App 和脚本不经过文件查看器,而是直接向访达发送请求(例如通过 AppleScript)。它们仍会打开访达窗口。
- “打开”和“存储”对话框属于 macOS。 它们不是访达窗口,这项设置也不会影响它们。想在其中直接跳到正确的文件夹,请参阅如何在每个“打开”和“存储”对话框中前往正确的文件夹。
把 Folia Files 设为默认文件查看器
- 在 Folia Files 中,选取 Folia Files › 设置…(⌘,)。
- 点按通用,然后滚动到 Mac 集成。
- 打开将 Folia Files 用作默认文件查看器。
- 退出并重新打开你会用到“在‘访达’中显示”的 App。

欢迎导览的随时触手可及页面也提供同一个开关:在 Folia Files 中打开其他 App 的“在‘访达’中显示”。
从此以后,当某个 App 要显示一个文件时,Folia Files 会来到前台,并在文件所在的文件夹中选中它:如果当前面板已经显示该文件夹,就在当前面板中选中;否则在最前面窗口的新标签页中打开。同一文件夹中的多个项目会一起被选中;文件夹则在单独的标签页中打开。如果 Folia Files 没有打开,它会先启动、恢复你的窗口,再显示该项目。

另外还有两点:
- Folia Files 自己的“在‘访达’中显示”仍会打开访达。 需要真正的访达窗口时,在任意文件或文件夹的右键菜单中就能找到这个命令。
- 要恢复原状,关闭这个选项即可。Folia Files 会移除这项偏好设置,等你重新打开其他 App 后,“在‘访达’中显示”就会再次通往访达。
这个开关只在从我们网站下载的 Folia Files 中提供。即将推出的 Mac App Store 版本不包含它:App Store 中的 App 无法更改这项影响整个 macOS 的设置。
在终端里自己设置
如果你用的文件管理器没有这样的开关,或者只是想查看当前设置,可以在终端里用 defaults 读写同一项偏好设置。Apple 并未公开说明 NSFileViewer:请把它当作进阶用户的小技巧,而不是官方设置。
查看当前设置:
defaults read -g NSFileViewer
如果显示的是某个 App 的标识符,说明那个 App 就是文件查看器;如果报错说找不到这个键,说明没有任何设置,使用的是访达。
查找某个 App 的标识符(把 App 名称写在引号里):
osascript -e 'id of app "Folia Files"'
进行设置(-g 表示所有 App 都会读取的全局域),把 com.example.filemanager 换成你查到的标识符:
defaults write -g NSFileViewer -string com.example.filemanager
撤销设置、回到访达:
defaults delete -g NSFileViewer
无论哪种情况,都请退出并重新打开你常用的 App。另外,如果要删除用这种方式设置的文件管理器,请先删除这项设置。
让文件管理器一键可达
文件查看器负责的是其他 App 给你显示的文件。至于你自己要打开的内容,下面几项设置可以帮助 Folia Files 在日常使用中接替访达:
- 登录时打开 Folia Files:位于设置 › 通用 › 启动。
- 显示/隐藏 Folia Files:在任何 App 中按 ⌃⌥F,这个快捷键可在设置 › 快捷键中更改。
- 从访达打开:右键点按文件夹,选择“服务 › 在 Folia Files 中打开”;或把文件夹拖到程序坞中的 Folia Files 图标上,在新标签页中打开它。
- 你在访达中的个人收藏:设置 › 通用 › “访达”设置 › 从“访达”沿用… 会沿用它边栏中的个人收藏、默认显示方式,以及隐藏文件和扩展名的设置。
还在挑选接替访达的 App?我们的访达替代品对比列出了每款 App 能做什么。


