妙用 Alfred 让你最近使用的文件触手可及

很多人每天坐到电脑前开始工作时,首先要做的事可能就是打开一些最近使用的文稿文档。至于找到文档并打开的方法,就八仙过海各显神通了,常见的有这些:

  • 一层层地打开文件夹,手动找到这些文件。(这显然有些麻烦。)
  • 一些软件启动时会显示欢迎界面,其中有最近打开的文件列表。(并非所有软件都有该功能。)
  • 打开软件后,点击菜单栏中「文件」-「打开最近使用」。(我不喜欢鼠标点来点去。)
  • 通过 Spotlight、Alfred 等工具搜索。(范围过大或结果过多时,搜索效果时常不如人意。)

当然你也可以将最近常用的文件放在桌面上,只是这样又可能会引起文件管理的混乱,同时影响桌面的美观。

此外,文件或文件夹在刚刚关闭后又想要打开它,是包括我在内的许多人时常遇到的一个问题。每次我只能一边懊恼着刚才为什么要关掉,一边再去跋山涉水地找到它。

去年年底,有开发者为了能够更方便地获取最近打开的文件,编写了应用 Recents。它提供了如下图所示的界面,将最近使用的文件,根据所关联的软件进行分组,按照时间顺序罗列出来,这一定程度上让用户确实可以更加方便、快捷地定位并打开近期文件。

Recents 界面
Recents 界面

而作为键盘流和 Alfred 拥趸的我,一是更喜欢键盘控制的干脆利落,二是更习惯将 Alfred 作为文件和信息的交互接口。所以,我希望通过 Alfred 来解决上述问题,帮助我更好地定位和打开最近使用的文件或文件夹。

经过一番探索,我制作了名为 Recent Documents / Apps 的 Alfred Workflow,来解决自己快速打开文件与应用的需求。

使用方法

注意:使用下文中的 Workflow 需要购买 Alfred PowerPack。

下载 Workflow 文件,双击后导入。可以看到共有四个可用关键词或快捷键唤出的动作。

1. 动作关键词 rd,列出最近打开过的各种文件

举个例子,假如我这两天使用 Sketch 编辑了两个文稿,使用 Xcode 写过一个程序,使用预览看过三个 PDF 文件,使用 macDown 编辑过三个 Markdown 文件。这个动作可以将这些最近打开过的文件都列出来,并且按照时间最近的顺序排列。

结果列表
结果列表

这样一来, 我每天开始工作时,不必一层层翻文件夹,也不必再一个个地搜索文件,只需要唤出 Alfred 并输入 rd 关键词就可以了。当最近的文件显示在结果列表中时,我可以使用 ↑向上↓向下 按键来选择文件,然后按下回车键打开,也可以按下 ⌘Command-回车键 在访达中显示该文件。

此外,为了避免同名文件无法区分的情况,我将结果列表中每个条目的副标题设置为该文件的「⏱修改时间」和「📡存储位置路径」,这也让使用者能够更方便地看到文件的关键信息。

子标题
子标题

2. 动作关键词 rr,列出当前应用最近打开过的文件

看起来,这个动作好像和上一个还挺像的,那么举几个例子:

  • 访达(Finder)处于激活状态,也就是在最前时,列出最近访问的文件夹。
  • 文本编辑(TextEdit)处于激活状态时,列出最近用它打开过的 RTF、TXT 文件。
  • Sketch 处于激活状态时,列出最近打开过的 Sketch 设计文档。
  • Xcode 处于激活状态时,列出最近打开过的 Xcode 工程文件。

只要应用的菜单栏中含有「文件」-「打开最近使用」这一项,就可以使用这个功能。至于如何判断哪个应用处于激活状态,看菜单栏左侧显示的应用名称就可以了。

结果列表
结果列表

3. 动作关键词 rf,列出最近访问过的文件夹。

虽然我可以切通过先换至访达再使用rr关键词的方法来查看最近访问过的文件夹,但这是我工作中很高频的需求,所以我就单独设置了这个动作,为了更方便一些。这样问不必再切换至访达,直接唤出 Alfred,输入rf就可以了。

结果列表
结果列表

4. 动作关键词 ra,列出最近打开过的应用。

这个就无需多言了,希望能帮到需要的人。

结果列表
结果列表

隐私、结果数量与快捷键设置

有些隐私文件、文件夹,我们不希望它们显示在结果列表中,所以我增加了一个屏蔽文件夹的功能。设置后,这些文件夹以及其中的任何文件都会被排除在外。

如下图所示,点击 Workflow 界面右上角的[𝑥]图标,设置 Workflow 的环境变量ExcludedFolders,将需要屏蔽的文件夹以冒号分隔写入其中。例如,需要屏蔽文件夹 ~/privateFolder1/Users/G/privateFolder2,那就这样写: ~/privateFolder1/:/Users/G/privateFolder2/

排除特定文件夹
排除特定文件夹

为了让这个 Workflow 能够显示更多的最近打开文件,建议在「系统偏好设置」-「通用」面板中,将「最近使用的项目」改为 15 个或更多。这是因为,默认的 10 个最近项目,可能不够容纳最近打开过的各种文件。而且,有些最近打开但已经删除的文件也是会占用这个数额的,而这个 Workflow 会滤除这些不存在的文件,导致显示结果可能会偏少。

结果数量设置
结果数量设置

最后,你也可以打开 Workflow 界面,根据个人习惯随意修改 rardrfrr 等关键词。如果更习惯于使用快捷键,也可以为每个动作设置快捷键,实现真正的「一键直达」。

快捷键与关键词
快捷键与关键词

为什么这个 Workflow 知道我打开过的文件

读者可能会有疑问,为什么这个 Workflow 能够获取我最近访问的文件列表,是不是在偷偷记录我的文件操作?其实不然,macOS 系统和很多应用都含有记录文件打开历史的功能。

  • 点击菜单栏最左侧的 Apple 图标 ,选择「最近使用的项目」,就可以看到最近使用的「应用程序」与「文稿」。它们分别与该 Workflow 的第四个动作 ra 和第一个动作 rd 结果相对应。
  • 切换至访达,点击菜单栏中「前往」,选择「最近使用的文件夹」。显示的文件夹列表正是第三个动作 rf 所显示的结果。
  • 至于第二个动作 rr,以文本编辑(TextEdit)应用为例,打开该应用后点击菜单栏中「文件」,选择「打开最近使用」就可以看到相应的文件列表了。

有些菜单栏中的最近使用文件列表,并非和 Workflow 动作结果完全一致。原因在前文中已提到,该 Workflow 会滤除已删除的文件记录。此外,如果你想清除这些记录,选择菜单栏中上述列表下方的「清除菜单」就可以了。

这些最近打开文件的记录均存放于 ~/Library/Application Support/com.apple.sharedfilelist/ 文件夹中。其中各个文件的名称含义也是一目了然,例如「com.apple.LSSharedFileList.RecentDocuments」是最近打开文稿记录,「com.apple.LSSharedFileList.RecentApplications」是最近打开应用记录,
「com.apple.LSSharedFileList.ApplicationRecentDocuments」文件夹下则是各个应用的最近打开文档记录。该 Workflow 正是读取的这些文件数据。

这个 Workflow 在 GitHub 上开源,如果各位有建议意见,也欢迎反馈。

> 下载少数派 客户端、关注 少数派公众号 ,让你的数字生活更精彩🎉