macOS里的自带词典使用起来非常的方便,这主要体现在两方面:
1.三指轻按触摸板即可呼出查询,且释义简要全面
2.在几乎任何地方(safari浏览器、PDF文件内[主要是浏览国外期刊或书籍时]、各种文本编辑器[如typora])都可以使用这一功能
这两个主要的特性加上系统原生功能带来的无缝衔接的流畅体验,使得macOS词典成为了几乎可以取代macOS系统上其他第三方词典的优秀查词工具,借用macOS上提供的工作流制作器Automator,可以方便地实现其他的增强功能,其中最为迫切的一个需求就是实现生词的管理,即生词本的实现。
相较于第三方查词软件提供的生词本功能,这一功能具有更高的自由度的操作上的便捷性,具体实现方式及理由将在下文中说明。
需要的一些前置知识:
- 基础shell语法
- 基础linux语法
- 基础正则表达式语法
当然,这是指进一步改进以及完善这一功能所需要的知识,如果你只是想应用这一功能,那么直接按照下述操作步骤中的过程实现即可。
1. 新建快速操作(服务)
特别说明:新版本macOS系统中,以往的服务现被翻译为“快速操作”
2. 选择获得词语定义
3. 创建Shell脚本
因为需要有个文档来保存获取的单词定义,因此需要用shell来操作。在左侧搜索shell(记得先选中“资源库”或“实用工具”)即可看到运行Shell脚本的工作流,拖拽过来,输入下面代码即可:
# 将单词释义保存到桌面的wordlist.txt文件下,若文件存在,则直接追加
FILE=$HOME/Desktop/wordlist.txt
if [ ! -f $FILE ]; then
touch $FILE
fi
echo -e "\n$1" >> $FILE
就此服务就完成啦,保存即可。你可以创建两个服务,一个保存英文释义,一个保存中文释义。(实际上对应于英语查词的需求,只用建立一个保存英文释义的服务即可)
4. 绑定快捷键
上述步骤完成后,你就可以直接在服务中看到你自定义的工作流。 如果你想方便快捷的保存单词,则直接在系统偏好设置>键盘>快捷键中找到对应的服务,自定义快捷键即可。
最终成果:
至此,一个简单的生词本功能已经实现,在这之后如有需要使用正则表达式对其进行格式化处理即可。
待完善
实现过程中的一些坑
实现这一功能主要参考的是第一个参考链接中“郭海旭”博客文章中的操作步骤,因为文章略为久远,以及一些描述上简略或略有偏颇的部分,导致在实现的过程中踩了一些小坑,故记录在此:
-
原文中的“服务”即现在的“快速操作”
-
原文中所给的正则表达式语句并不能得出原文中截图所示的效果,为此我重新查了几乎一上午的正则表达式语句,但是发现实际想要得出的格式化结果实现起来还是有些困难。期间还遇到了关于正则表达式字串嵌套相关的问题,在查阅博文后得以解决,由此也更感
一些心得
参考: