article_image

文件链接,点击即达任意文件,是文件管理中的高速公路,是继文件夹和标签之后的第三维度,更是引导使用者走出数字迷宫的 阿里阿德涅之线

文件链接并非新鲜事物,如今的应用,更多是二次发明。例如在任务管理领域,就有人将预备处理的文件链接到 OmniFocus,工作时点击链接即可打开所需文件。但是在传统文件管理系统下,直接将文件拖到任务或笔记中并不可靠,盖因此时的链接是其绝对路径,一旦文件挪了地或改了名,之前生成的链接也就查无此人,就像朋友搬了家,再循着旧通讯地址,当然找不着人。

稳定的文件链接也有,可惜这类功能一直为 DEVONthink、Hook 等专业文件管理工具所“垄断”,似乎要使用链接管理文件,就只能启用重器。对于非重度用户而言,把文件链接交给第三方工具,有如把通讯录全权委托给他人,而一旦服务商倒闭1,诸君和所有朋友也就断了联系——这完全不合情理。

本文将介绍一套基于 Deep Link 的文件链接生成方法,无需依赖任何第三方工具,生成的链接牢牢掌控在自己手中;文章提及的所有自动化工具仅仅起到辅助作用、简化链接创建过程而已,使用链接时则不再需要它们。文章以 Keyboard Maestro 为例,免费的 Shortcuts 同样能够完成任务。

Alt text
通过 Deep Link 打开文件

使用介绍

本文创建的文件链接在技术上属于 Deep Link 深度链接,相当于 iOS 上的 URL Scheme,以下也沿用 Deep Link 的称呼。可供下载的有 Keyboard Maestro 版和 Automator 版,Keyboard Maestro 版用到了特殊模块,而 Automator 完全由 AppleScript 脚本写成,可以移植。注意,在 Big Sur 之后的系统中,模拟键鼠操作需要授权,故不能保证在所有自动化工具中运行。

使用前只需填写一下自定义文件夹的位置,此处将用于收纳链接所需的 alias(替身)文件。以 Keyboard Maestro 版为例,双击安装动作后,任选一个文件夹,用它替换掉两处 将你存储快捷方式的文件夹拖到这里 即可;如需在 iOS 设备上使用 Deep Link,则要在 iCloud 中开辟一方文件夹2

Alt text
使用前需修改文件夹路径(红色高亮处)

注意,第二处 将你存储快捷方式的文件夹拖到这里 末尾有一斜杠 /,断不可删去,否则生成的链接无法打开。修改好自定义文件夹后即可使用,Keyboard Maestro 默认的快捷键是 ⌃Control-⌥Option-⌘Command-C,选中任意文件后按下该快捷键,稍等即可获得一段 file:// 开头的链接3,此即为 Deep Link。将其粘入支持点击直达文件的编辑器,例如 Obsidian,就能看到一键打开的效果。

Alt text
在 Obsidian 中点击 Deep Link 打开文件

其他版本的动作功能如出一辙,使用准备方面,同样也仅需修改自定义文件夹就能使用。Automator 用户可以在文件的右键菜单中找到“Copy Deep Link”动作,如找未觅得,可能被藏进“Services”一项中;LaunchBar 用户可将文件通过 Instant Send 发送至自动化工具,再徐徐键入 copydeeplink 找到本文动作(一般按下前几个字母即可捡到)……其他未提供现成动作的用户,同样可以自行移植 AppleScript 脚本。

思路剖析

包括本文的 Deep Link 在内,稳定的文件链接效果惊人,甚至在你删除一个文件之后——只要尚未清空垃圾桶——仍然可以找到这个文件4。如果不了解背后原理,难免会对此大惊小怪,甚至产生软件在“监控”用户的误会。实际上,实现 Deep Link 的过程虽说曲径通幽,可也不是那么另辟蹊径;它背后的原理,换个俗名想必人尽皆知:快捷方式

上一节的准备工作中,我们创建了一个专门用于容纳 alias 文件的文件夹,而 alias 文件就相当于 Windows 中的快捷方式。一旦建立了快捷方式,无论原始文件如何变动——移动、修改甚至删除——点击 alias 都能直达原始文件;顺着这个思路,我们只需要获取 alias 的路径,就相当于得到了原始文件的“Deep Link”。

只要能够意识到 alias 文件的中继作用,之后的事情就是创建 alias 文件并为之生成链接——这些链接只是普通的文件链接,但是效果上却堪比 DEVONthink 和 Hook 等专业工具生成的文件链接:只要没彻底清空垃圾桶,总能点击直达文件。当然,由于 alias 是 macOS 的内置功能,所以本文生成的 Deep Link 在点击时无需任何第三方工具帮忙,但凡系统没崩溃,就不担心 Deep Link 罢工。

在具体使用上,不同软件中的跳转效果还是有所差别。例如,Obsidian 可以直接打开原始文件,整个过程意识不到 alias 文件的存在;而一些较为古早的编辑器,例如 macOS 自带的文本编辑器 TextEdit,则会直接打开 alias 文件,还需要再手动点一下才能开启原始文件。

Alt text
系统自带的文本编辑器只能打开 alias 文件

当然,上述两种效果都比传统的文件链接强的多,至少不用担心链接频繁失效。此外,鉴于 Deep Link 本质上就是文件链接,故任何支持 file:// 格式链接的工具,都可以使用本文生成的链接。包括 Obsidian 在内的各式 Markdown 编辑器自是不在话下,支持打开本地文件的任务管理工具也能够沾沾光。但是,包括 Word、Pages 和 WPS 在内的传统富文本编辑器则不然,它们要么无法打开本地文件(至少在 macOS 中如此),要么每次打开都需要授权5,以此降低病毒感染机率,犹如在高速公路上层层设卡,体验糟糕。

Alt text
Word 每次点击链接都要授权

甘蔗没有两头甜,享受 alias 的原生体验,也要接受部分工具对其不兼容或设限制的现实。使用这种在系统原生功能上实现的 Deep Link,相当于跑在国道上,稳定可靠,但也要遵守交通规则;而那些貌似能够畅行无阻于任何地方的工具(例如 Hook),实质上是修了一张私家公路网,除了只能指望开发商及时适配新系统,用户要缴纳的养路费也不低——“缴纳”既是事实层面的,也是隐喻层面的:你不仅要付钱,而且是订阅制,没有比“缴纳”更恰当的说法了。

🛍 我撰写的付费栏目《信息管理,文件为本位的方案》正在 UNTAG 售卖,对本文话题有进一步讨论,欢迎选购。

🔗 付费栏目链接


  1. “倒闭”是个比方,不仅指软件停止服务,也包括尚未适配最新系统等情况。
  2. 这部分内容日后可能由 Hum 执笔撰写。
  3. 期间 Keyboard Maestro 可能会要求访问文件夹的权限,这是创建 alias 文件所必需。
  4. 只不过系统会提示你,文件已被删除,不能直接打开查看。
  5. 以 Word 为例,每次点击都要授权三次,分别是确认点击、选取文件和确认文件,只能用“官僚”形容。

author_avatar

Lawyer, macOS/iOS Automation Amateur