同许多人一样,我在人生的每个阶段里,都多次启动过背单词的计划,当然,也每次都没有坚持下去。我认为,这其中一个原因在于,无论是小时候背单词书,还是现在使用手机上的单词软件,都过于强调学习计划。然而,生活中的变化和诱惑实在太多,在没有考试等因素驱动的情况下,只要有一天没有按照计划行事,那么遗忘和放弃就是自然而然的结果。

总而言之,作为工作中实际上不是特别需要使用英文的打工人,我没有很强的动力去每天背上十个或者更多单词。我只想要在打工的间隙,悄无声息地偶尔学习一下,无须低头看手机,不强求每天背单词的数量,不考虑科学的记忆曲线,背到了算赚到,没记住那拜拜下次再见。

出于这个目的,我以「桌面」和「背单词」为关键字进行了检索,发现市面上的此类软件不少,应当也有很多优秀的产品。可惜的是,这些软件对我来说都不够轻量,显得太正式,界面和丰富,功能太复杂了。其中看起来最符合我要求的一款,叫 ToastFish,据说是让用户可以在通知栏背单词,然而,它在我这台破工作电脑上并没有运行成功。另外,从介绍上看,这款软件也逃脱不了「本次背多少个单词」这一让我感觉有些焦虑的设定。

于是,我很自然地又想起了那个已经在我电脑后台默默运行的 AutoHotkey 脚本,自从我因为工作而开始使用 Windows 办公后,AutoHotkey 给予我很大的帮助,具体可参见这篇文章。上一次我使用 AutoHotkey 编写脚本,是为了写划词翻译和截图 OCR,具体可以参见这篇文章。结合我的目标,很容易联想到 AutoHotkey 自带的 ToolTip 函数,其效果是显示一个工具提示窗口。窗口非常小,用来不着痕迹地背单词可以说是刚刚好。

AutoHotkey 的语法足够简单,配合上现在的 AI 工具,经过一点尝试,我就完成了一个基本可用的背单词小脚本。想到工具提示窗口小巧、不易察觉的特性,我又顺手把它改成了一个阅读文章的小脚本,相比起网上使用 Word 文档或者记事本的摸鱼技巧,利用工具提示窗口更加轻便和隐蔽。

即便算上空行,两个脚本加起来也不过 200 行左右。不需要额外下载软件(当然单词本和书籍是需要另外准备的),就拥有了两个不同类型软件的核心功能,我认为是足够经济实惠的。因此,我也认为值得在这里分享。

下面,我先将脚本实现的全部功能展示如下。诸位如果对此感兴趣,可以继续看后文,我会解说其中的核心功能部分,并在最后列举一些额外功能的实现思路,以方便大家能够按需修改。现有功能的完整的代码我还是会放在文末。

按下设定的热键进入或退出背单词模式(所有热键均可自定义,下同):

单词模式:从开始到 abandon

按下设定的另一组热键进入或退出看书模式: