选中经节号,一键从 Accordance 中获取经文内容

平时需要复制某段经文的时候,通常需要通过以下步骤:
1. 打开或切换到 Accordance(或其他圣经应用)。
2. 打开或切换到和合本圣经(如果当前分页中没有和合本的话)。
3. 定位到相关经节(比如约 1:1-3)。
4. 选中经文,选择复制。

当然,也可以通过以下步骤:
1. 使用快捷键 CMD + Option + A 调用 Accordance 的获取经文服务。
2. 在弹出窗口中选择圣经版本,输入经节号,然后选择复制到剪贴板或当前应用。

上述第二种方法比第一种方法更方便。不过,Accordance 不能识别中文书卷名,所以对于用中文写作的用户来说,在输入经节号时常常需要切换到英文输入法,然后再切换回中文继续写作,相当麻烦。另外,以上两种方法复制出来的经文默认是包含经节号,并且在每一节经文前面都有书卷名和章节。如下:

John 1:1 太初有道,道与神同在,道就是神。
John 1:2 这道太初与神同在。
John 1:3 万物是借着他造的。凡被造的,没有一样不是借着他造的。

当然,如果使用上述第一种方法,复制的经文格式可以在“偏好设置→ 引用”里更改。比如,左栏“标记”为,“显示为”选择“段落”。右栏“标记”也留,“显示为”选择“省略书名和章号”。“引文出处”选择“不包含引文出处”。在 Accordance 中,选中约 1:1–3,右键,选择“复制为 → 引文 + 出处”(也可以直接使用快捷键 Control + Command + C),然后再粘贴,结果如下:

1 太初有道,道与神同在,道就是神。 2 这道太初与神同在。 3 万物是借着他造的。凡被造的,没有一样不是借着他造的。

这个经文格式可能是我们平时使用频率最高的。但是我们看到,它需要对偏好设置做调整,而且步骤也相对比较多。有没有方法可以更方便地获取经文呢?答案是有的。以下就说明具体的实现方法。这个方法用到 Keyboard Maestro (KM)AppleScript (AS)。另外,可能也会用到 RegularExpression (RegEx)。具体思路如下:

当我选中经节号之后(比如约 1:1-3),按下自己定义的快捷键,电脑将自动执行以下步骤:
1. 将“约 1:1-3”复制到系统剪贴板。
2. 将系统剪贴板内容(即“约 1:1-3”)设置为 KM 的一个变量(比如 BibleRef)。
3. 使用 AS 从 KM 中获取这个变量,并且将其中文书卷名(即“约”)改为 Accordance 能识别的英文书卷名(即“ John”),从而获得新的变量(即“John 1:1-3)”。接着,使用 AS 从 Accordance 中提取经文内容,并将内容放到系统剪贴板。我设定为我自己制作的中文和合本(在 Accordance 中的版本名称为 CUS°)。你也可以设置为其他圣经版本。
4. 如果“偏好设置→ 引用”中已经做了上述更改,那么经文格式已经满足要求,可以直接跳到下一步。如果“偏好设置 → 引用”中设置不一样,比如,我的 Accordance 设置为:经文“内容 → 显示为”是“每节另起一行”,“引文内容 → 显示为”是“仅省略书名”,“引文出处 → 标记分别是 “ (” 和 “ )”,且“位置”是“在引文上面”。这样,导出的经文格式是这样的:

(John 1:1-3)
1:1 太初有道,道与神同在,道就是神。
1:2 这道太初与神同在。
1:3 万物是借着他造的。凡被造的,没有一样不是借着他造的。

那么,就需要通过 RegEx 来改变经文的格式:1)把第一行的括号以及括号中的经节号删除。2)把后面三节经文中 “1:” 都删除,只留下节号。3)把经文合并成一个段落。
RegEx 的命令就是搜索 \((.*?)\)|(\d*:)|\r|\s并且将搜索到的内容替换为空(即删除)。 这样,就得到了我们想要的格式。
重要:如果“偏好设置 → 引用”中的设置与我上面所述不同,那么 RegEx 的表达式也可能需要做出调整。

  1. 系统发出通知:经文内容已经复制到剪贴板。

以上 5 个步骤可以设置为 KM 的一个宏命令,一旦执行,就会自动完成。我把快捷键设置为 F12。这样,当我选中“约 1:1-3” 并按下 F12 之后,就可以立刻获得“约 1:1-3” 的内容。
感兴趣的朋友可以下载这个宏命令尝试一下。提醒一下:

  1. 除了 Mac,Accordance,和 KM 以外,还需要下载并安装我制作的和合本圣经

  2. Accordance 中的“偏好设置 → 引用”的设置也要跟我前面提到的一样,否则 RegEx 命令就需要做调整。

  3. 经文书卷可以是英文,比如 John 1:1-3(程序不会做替代)。但是如果是中文的话(比如 约 1:1-3),必须是统一的简称,而且必须要是简体。如果想要包含全称(比如约翰福音),或者使用繁体(比如 約 1:1-3)的话,还需要在 AS 代码中添加这些选项。

  4. 程序会自动把中文的冒号、逗号、顿号、分号转化为相应的英文符号,因为 Accordance 无法识别中文符号。

  5. 如果是多段经文的话,只带节号的格式反而会导致混淆。比如:创 1:2;出 2:3 的输出结果是: 2 地是空虚混沌。渊面黑暗。神的灵运行在水面上。3 后来不能再藏,就取了一个蒲草箱,抹上石漆和石油,将孩子放在里头,把箱子搁在河边的芦荻中。——出 2:3 的经文直接接在 创 1:2 之后,看起来好像是来自同一章圣经的。这种情况下,我们反而需要后续再编辑。如果不喜欢这种排列格式,可以在 KM 里关闭 RegEx 这个步骤。输入格式完全由 Accordance 在“偏好设置 → 引用”中控制。

 

AS 代码如下(没有编程背景,所有代码都是网上搜索拼拼凑凑的。如果有碰到 Bug 或者哪里还可以再精简,欢迎在下面留言):

 

发表评论