在 Mac 上找本地文件时,系统自带的搜索体验经常让我觉得慢半拍。无论是在访达窗口右上角输入“简历”,还是按下 Command + 空格 呼出聚焦搜索(Spotlight),文件结果往往不能第一时间跳出来,中间总会隔着一段明显的加载等待。

用过 Windows 的朋友大多熟悉 Everything,它的特点就是输入文件名的瞬间直接列出全盘结果。为了在 Mac 上获得同样的检索速度,我做了一个免费开源的本地文件搜索小工具 Oil Find,并在 Oil Find 官网 提供了直接下载的安装包。

Oil Find 官网首页展示的毫秒级搜索响应与下载入口

快捷键呼出与毫秒级实时检索

安装完成后,按下默认快捷键 Shift + Command + F 即可随时呼出搜索面板。如果这个组合键和手头常用的软件冲突,也可以在设置面板里直接录入新的按键组合(例如改成 Command + Shift + M),按下即可生效。

呼出搜索框后,检索几乎是实时的。无论是输入中文“简历”,还是输入中文拼音去匹配“文档”,结果都会在敲下键盘的同时直接展示出来。平时开发项目多的时候,电脑里散落着大量 README 文件,只要在输入框里敲入 readme,两毫秒内就能把全盘五千多个相关文件和文件夹全部列出来。

按下快捷键呼出 Oil Find 搜索全盘 README 文件

当同名文件太多时,还可以直接在搜索框里连着输入上级目录与项目名称来收窄范围。比如我想找 wolfcha 项目下的资源文件,直接输入 project/wolfcha,再配合搜索框顶部的“文件夹、应用、文档、图片、视频、音频、代码、压缩包”分类标签,很快就能定位到目标文件。选中结果后双击,就能直接在访达中打开所在位置。

使用路径加项目名检索文件并按顶部类型标签筛选

索引范围取舍与首次配置

本地搜索工具要想又快又干净,索引范围的取舍很关键。在开发者的电脑上,node_modules、site-packages、.venv、.git 等开发依赖目录,以及 .app、系统目录里的内部包文件数量极其庞大,但日常几乎不会按文件名去搜它们。如果把这些文件全部塞进默认结果里,不仅拖慢索引,还会严重干扰日常查找。

因此在 Oil Find 的设置面板里,我默认关闭了“开发依赖目录”“应用与包的内部文件”“资源库”和“系统目录”这四类路径,只索引用户自己的常规文件。如果某次排查问题确实需要检索这些内部文件,随时可以在设置里手动打开对应开关;反过来,如果有不想出现在搜索结果里的私密目录或归档目录,也可以点击“添加文件夹”把它们加进排除列表。

Oil Find 设置面板中的索引范围开关与自定义排除文件夹

首次安装启动时,需要在系统设置里为 Oil Find 授予“完全磁盘访问权限”,并等待十几秒完成首轮全盘索引构建。索引建立完毕后,后续的日常搜索就都能保持毫秒级的实时响应了。