article_image

谈及效率工具时,“大爆炸”当然不是指那个著名的物理理论,而是一种有趣的交互方式:根据某种拆分依据,将文本“炸”作几块,然后从中挑挑拣拣。作为大爆炸的主要旗手,锤子科技将这一功能推崇到极致,各大厂商纷纷借鉴,甚至连“听说你想教我做产品经理”的张小龙也不得不低头,乖乖采用这一文本选取方案。

相比基于光标和传统文本选取方式,大爆炸将思考量降到最低,一次选中一大块儿,而不是一个字一个字慢慢爬,非常爽快——尽管偶尔精度不佳。惜乎,随着锤子科技本身逐渐淡出视野,关于大爆炸的讨论也偃旗息鼓。

然而,在文本编辑器之外的另一个领域,或许大爆炸还将激起一丛新的火花:文件命名。简而言之,大爆炸和文件命名可以相辅相成,一方面加速从文件名中快速提取内容,在硬币的另一面,则敦促用户尽可能规范命名,以内容块为单位去命名文件。

这或许是文件命名规范化的一条快速通道。

从空格、短线和下划线说起

文件命名似乎是一件私事,全看各人工作要求和审美趣味,我在写《macOS 文件管理》《信息管理,文件为本位的方案》时,也只是呈现几种合理方案,并未带入太强的意识形态。两部作品的主要思路都是基于关键元数据命名文件,例如照片,可取时间、地点和简短描述:20231023 重庆 洪崖洞的星巴克

然而,一个看似微小的问题,如同阴云一般漂浮在“元数据命名法”之上。不止一次有读者问,分隔符应取何者为好?上例中,由于文件名称中全是中文和数字,似乎以空格分开最为直观省力,不太可能需要多虑1;而在命名英文文件时,似乎分隔符就有些讲究。以如下论文标题为例:

2005 Annie Piolat - Cognitive Effort during Note Taking

为按照发表年份排序,我以 2005 开头,随后是作者名,而为了区分作者和标题,又自作主张在两者之间加上分隔符 -。现在,当我想拷贝出 Annie Piolat 这一作者名字时,就要在挪半天光标,并小心观察,确认复制完整。Annie Piolat 好歹明显是英文名,如果遇上日文名,macOS 甚至不能以词为单位移动光标2,导致我要狂按一连串的方向键或者用光标瞄准、选取。

能指和所指的龃龉就此发生。在内心中,我想要作者名,但实际上,根据作者名字的语言和复杂程度,操作完全不同。至于更长的论文标题、书名、出版社名和出版地3,则更加步履蹒跚。无怪乎为何 Zotero 和 Calibre 这类库管理工具如此受欢迎:使用者无需每次输入完整的字符,只需从现有元数据中选取;而这些库管理工具中元数据,无一例外都是块状的

Alt text
Calibre 中的作者名都是成块的

一个朦胧的想法浮上脑海:何不以分隔符分开各个元数据块,而辅以自动化工具,则可以在通用文件管理系统中——例如 Finder——也以块为单位选取文件名中的信息,大大简化乃至避开传统的文本选取;同时,一旦提取元数据块如此方便,命名新文件时则更容易从现有文件中提取信息,反复使用,新文件的命名也更加规范,不至于每次都是临时起意。

以块为单位的文件命名

从元数据为核心的命名到基于块的命名,并非否定前者,而是一种类似于原子组成分子的机制转换。而负责打包原子和分隔分子的,则是恰当的分隔符。转换到基于元数据块的命名后,上一节中提到的论文,不妨以下划线为界——取代空格——连接元数据块内部的字符;同时空格为界,分隔不同的元数据4。命名形式如下:

2005 Annie_Piolat Cognitive_Effort_during_Note_Taking

上例中,2005Annie_PiolatCognitive_Effort_during_Note_Taking 均为一个块,可在 ⌥Option 键配合下轻松以块为单位移动光标,选取简单,不费心力。详言之,编辑文件名时,按住 ⌥Option 再左右移动光标,即可整块整块跨越文本;若同时再按住 ⇧Shift 键,则可以进一步大块大块选中文字。这貌似细小的改进,实则如同用牙签戳米粒和用筷子扒饭之间的差别。

Alt text
新命名方式下,以元数据块为单位移动光标和选取文本

就英文等空格原本较多的名称而言,块内部的下划线符号 _ 还不占空间,毕竟这里原本也要有一个空格。下划线如同化学键,连接了元数据块内部的字符,在不延长文本长度的前提下令其成为一体——不仅如此,整体上看,其实下划线还缩短了文件名,毕竟原本在英文文件中要用两端带空格的短线作分界,如今则一个空格足以。话说回来,以下划线取代空格,本就是不少英文文献的默认做法,从 Brill 和 Harvard 上淘论文时,名中载有多个单词的文件往往喜欢加上下划线。

随着文件命名方式得以演进,从文件名中提取文本块的方法也可以大幅改进,彻底告别逼仄的文件名编辑框——尽管从我的实际经历看,两者的影响是反过来的。总之,大爆炸在此刻进入了视野。

用大爆炸提取文本块

采用块状的文件命名,最初是为了方便以概念为单位提取信息,而不囿于字符,尤其是可以无视不同语言文字之间的语法差异。如今文件命名规则逐渐成熟,我在电脑上慢慢确立了如下惯例,下划线为丝线,空格符为界碑:

metadata_A metadata_B metadata_C

提取文本块的自动化方法已犹抱琵琶半遮面。再以 AppleScript 轻轻一拨,面纱便翩然委地,我马上制作了多个版本版本的动作,以 Keyboard Maestro,可用快捷键 ⌃Control-⌥Option-⌘Command-B 快速“炸”出文件名中的文本块——而且选中一系列文件,整体大爆炸。

接着之前的论文案例,有时我下载了同一作者的新文章5,想提取之前的作者名称用于命名新文献,只需选中旧文章,再将其炸开即可。选中作者全名,按下回车键,即可将其拷贝至剪贴板。对于那些很难拼写的西文名字,以及我根本不知道怎么输入的日韩名字,大爆炸或许是最低成本而快捷的路径。

Alt text
从文件标题中“炸”出很难拼写的作者名

再举一工作实例。我在办案时会尽可能搜集类似案例,以综合分析立场,通常使用 案号 描述 的简单形式。描述部分不同人习惯各异,有人喜欢 甲君诉乙君合同纠纷二审判决书 这样周全的命名,有人只用 甲君诉乙君合同纠纷案 的简称,也有人受英美法薰陶太重,爱用 甲君v乙君,这就导致分享案例时很不统一,同事们慢慢达成默契,只分享案号而不夹杂描述——可要手动删去描述,也是一桩麻烦事。

Alt text
如何从这一堆文件的名称中提取出案号部分?

而借助大爆炸,无需任何进一步操作即可轻松提取案号。当然,比较硬核的读者可能脑中刚刚闪过“正则表达式”几字,但既然可以在块状命名的框架下零附加成本解决问题,那也不必劳烦正则。炸出案号后,选中并拷贝,往微信里一粘就是参考案例列表,精准、到位。

Alt text
从一堆文件中“炸”出案号

小结

某种程度上,大爆炸在文件重命名场景下才是如鱼得水,毕竟,如果要炸的是别人写的东西,炸不炸得开多少得看运气——中文分词技术似乎还不那么可靠——但文件名称通常是自己写的,如果一开始就设好规则,很容易一炸一个准。

在文件命名这片原始设计者或许未曾料想过的沃土上,大爆炸结出了别样风味的果实,甚至可以改变环境本身,让文件命名以应用大爆炸技术为前提之一,并最终将零散的命名推定以元数据块为基础的新层次。

🛍 我撰写的付费栏目《信息管理,文件为本位的方案(增订版)》正在 UNTAG 售卖,对本文话题有进一步讨论,欢迎选购:付费内容链接

信息管理,文件为本位的方案(增订版)
信息管理,文件为本位的方案(增订版)

  1. 选哪种分隔符通常没有硬性规定,除了部分政府机构,其系统不允许上传带空格的文件。
  2. 在中文和英文中,按住 ⌥Option 再移动光标,可以词为单位,但经测试,日文和韩文经常不行——尤其是满眼片假名的文本,即便寸步难行。测试时间 20231023,测试系统 macOS Ventura 13.4,测试软件 TextEditor、Pages、Microsoft Word 和 BBEdit。
  3. 这些信息不一定每次都全部用上,具体要看文件侧重哪一方面。比如很多人不会关心的出版地,如果命名对象是古籍,则可能需要考虑。可参见拙作《信息管理:文件为本位的方案》中的3-8 文件命名(付费)。
  4. 在这里,元数据遵从库管理工具的定义,将标题也纳入其中,而非限于 Finder 中的 metadata。
  5. 我毕竟不是学术圈中人,故懒得用 Zotero,论文直接堆砌于 Finder 中。当然,论文只是诸例之一,本文方法也可用于照片管理、影片管理、设计素材管理、稿件管理等等。

author_avatar

Lawyer, macOS/iOS Automation Amateur