article_image

在当今语境下谈论商业通讯录,难免让人眼前浮现出厚厚一本电话大黄页,而后者似乎早就被抛进了历史的垃圾堆。相比之下,手机通讯录看似已经取得了彻底胜利:联系人信息丰富,带来电头像显示,可语音拨号,临近生日会悄悄提醒,还能跨平台同步,岂不快哉?

然而,参与过工作的人——往往是有过教训之后——大多知道,私人通讯录并不能代替商业通讯录。销售必有客户花名册,法律从业者常备司法机构电话册,公务员更是把通讯录直接垫在玻璃桌垫之下……一方面,商业通讯录动辄上百条,早已是私人通讯录所不能承受之重;另一方面,凡举重视私人空间者,也不会乐意公私混杂。

本文介绍一种基于纯文本(主要是 Markdown)的商业通讯录方案,以 Drafts 为浏览工具,可一键点击拨号、发件或导航,完成通讯录工具之本分;更能分类查询,全文搜索,批量编辑,多地同步,此系纯文本与 Markdown 语法之功。

Alt text
在 Drafts 浏览商业通讯录

如此公私两份,专事专办。

纯文本(Markdown)商业通讯录

从五彩斑谰的现代通讯录,掉落回白底黑字的纯文本,似乎是一种赛博复古主义。事实却是,纯文本比现成通讯录软件更适合处理大宗信息。

商业通讯录的本质在于求全责备,而不是追求语音呼叫等交互细节。从概率上看,一个民商事律师估计这辈子都不会对手机说“嘿 Siri,打电话给某某监狱”——希望不会——但是不能不知道它的电话,最好还要清楚每个办公室的电话。因此,商业通讯录通常有几百上千个联系人,单单想象一下如何把它们添加到手机通讯录,就让人芒刺在背。

比起寻觅更全能的通讯录管理软件(还需要没有隐私泄漏之虞),或者编写批量导入联系人的脚本,尚存在另一条道路:用 Markdown 记录联系人信息,然后用您喜欢的 Markdown 编辑器浏览、搜索和联系他人。

在纯文本中快速拨号

就商业通讯录而言,关键在于能否一键拨号,否则就不好意思自称通讯录,故我选择了 Drafts。它在 link mode 下可以识别电话、邮件和地址,点击之后,即可呼叫、发送邮件或导航到目的地。这些交互,方是“通讯录”的应有之意1

Alt text
Drafts 可识别电话、邮件和地址

基于 Markdown 语法生成通讯录大纲

Drafts 等 Markdown 编辑器让纯文本获得了通讯录的核心功能,而 Markdown 语法则让浏览海量信息变得轻松,此系转向纯文本的根本原因。Markdown 语法支持标题层级,此为分组浏览提供便利,以法院通讯录为例,可以将本省各个市级法院分组整理,并为不同层级的法院设置对应的标题层级;具体地址以及各个办公室的固话,则用列表分列其下。

## A市法院
- 地址 某省A市1区中山路99号
- 5555-1111 立案庭
- 5555-9999 执行庭

### A市1区法院
- 5555-2111 立案庭
- 5555-2999 执行庭

### A市2区法院
- 5555-3111 立案庭
- 5555-3999 执行庭

## B市法院
- 5555-5111 立案庭
- 5555-5999 执行庭

如此编排通讯录,不仅可以渲染出整齐的样式,令联系人信息一目了然;更可在 Markdown 编辑器的导航(Navigation)视图中分类查找,快速翻到某个机构,然后查看其具体信息。在前例中,若分级本身设置合理,省、市、区层次清晰,则滚动几次大纲,便基本能够定位。若需开启 Drafts 的导航视图,可点击其顶部工具栏的朝下箭头图标——此图标疑为 Modifier Letter Down Arrowhead,也可能单纯就是个箭头图像,不作深究——如果轻轻向上滑过该图标而不是直接点击,该则可以全屏浏览通讯录大纲,比弹出式窗口更大方。

Alt text
全屏浏览通讯录大纲

若读者事业兴隆,通讯录日益发福,则大纲也难免累赘,免不了动用搜索功能。以及几乎所有文本编辑器都能够全文搜索,并不计较输入的关键词是姓名、电话区段还是邮箱后缀;而 Drafts 精益求精,具备正则表达式语法,可进行复杂的过滤操作。

正则表达式批量编辑联系人信息

在法院通讯录的例子里,正则表达式诚然较少露面;如果有人从事销售或推广行业,则不难体会其妙处:用一句 杭州|宁波|嘉兴,就能过滤出长三角地带的客户,随后发送针对性的推广信息。此外,如果读者跨省工作,则需要在固定电话前加上区号,此操作亦为正则表达式所擅长,接续前例中的假想号码,只需将 (\d{4}-\d{4}) 替换为 区号-$1,便可获得整合后的电话号码2

Alt text
用 Drafts 为电话号码批量添加区号

Drafts 在 iOS、iPadOS 和 macOS 均有客户端,故以上功能,可惠及前述各平台用户;同时,Drafts 使用了 iCloud 同步,故一地修改,可同步至他处,亦享云通讯录之便。妙处在于,您不需要和 Drafts 或其他某款软件许诺终生:数据都以纯文本格式储存,复制粘贴即可迁移。但凡是能够满足需求的 Markdown 编辑器,都可以替代本文作为示例的 Drafts(这里这里 有两个比较齐全的文本编辑器对比表格)。

与传统通讯录的比较

若诚心寻觅,恐怕仍然可以找到一款兼具前文所有功能的通讯录软件;倘若不惧艰难,估计也能为现成通讯录编写脚本,叠床架屋。而本文弃此二路径不用,转而取道纯文本,乃思路差异在工具选择上的投现。

纯文本编辑的种种优点,已见于前文,此不复述;与传统通讯录相比,两套方案的分水岭其实在于数据格式。传统通讯录多采用 vcf 格式存储数据,故只能由专门的编辑器来处理;而 Markdown 文件则属于纯文本,有着成熟的现成编辑工具,诸如大纲、正则表达式搜索和批量替换等功能俯拾皆是,只怕使用者不会,不担心没有工具虚位以待。

当然,传统通讯录往往和操作系统形影不离,语音拨号更是明日黄花,此为纯文本所不能。然而,商业通讯录动不动便过千的体量,不可与私人通讯录百十位亲朋好友等量齐观。商业通讯录更多是有备无患,至于语音呼叫等摩登的交互,只好割爱。

另外,商业通讯录在许多企业和机构都构成商业秘密,即便不考虑法庭相见,想必也没有人希望自己单位的财富流于外人之田。而把这些重要信息单独存入一份文档,本身就设置了一道藩篱,不至于让它们和私人通讯录一道被丢进算法大锅3

与传统表单的比较

专业机构早已意识到手机通讯录之不足,可惜其上行下效的做法,是制作一份 Excel 表单或 Word 文档,然后静静等待它们在时光的浸润下过期;后辈们在一篇怨声载道中,掘地三尺搜集资料重新整理,随后历史重演。

究其根本,在于这些文件格式本身太笨重,使用不便——试想在手机上打开一份两千行的 Excel 或几十页的 Word——万一转辗之间复制错了一行,也很尴尬;编辑前述文件同样不易,任务最后会被推到“懂IT的年轻人”手中,而更新一两条联络电话,本应是举手之劳,何须大动干戈。

Alt text
Word 格式的通讯录

纯文本商业通讯录,因其学习门槛和朴素外观,通常难以被专业机构接受,但不妨碍使用者独享。但凡单位对联系信息没有禁止性规定,不要求使用专用联络系统4,个人使用者都可以纯获益于纯文本通讯录。既然实用,便也无所谓“大黄页”的古板印象。


  1. 在 macOS 上,几乎任何文本编辑器都能够识别手机号码和邮件地址,继而拨打电话或发送邮件(选中一串电话号码后,在右键菜单中就能看到拨打选项),但毕竟手机才是多数人的主要通讯工具,故还是以 iOS 客户端的表现为重。
  2. 请注意勾选下图中的“Use Regular Expressions”选项
  3. 此处涉及大量技术和法律细节,简言之,将公私通讯录分开,即便最终全部泄漏,截获者通常也不能将两个“圈子”联系起来,损害比公私不分要小得多。
  4. 如果强调保密性,唯一的选择就是专用系统,毕竟,在 Excel 表单里翻找联系方式,又有什么安全性可言?

author_avatar

Lawyer, macOS/iOS Automation Amateur