学英语和写工具

「学英语」的重要性已不言自明,「写工具」则是新人从小鲜肉成长为老师傅的捷径。本文在推荐一些优秀的 Mac 词典软件的同时,也会告诉新人如何打造一款属于自己的个性化软件和工具。如果你是一名 Windows 用户,可直接跳至「Windows 效率工具」章节。

Mac 词典软件推荐

Mac 系统默认配有 Dictionary 词典软件,你可以在任意应用程序中直接选中英文单词,按下快捷键 command + ctrl + d 后,在弹出层中查看相关翻译内容。

Mac 默认 Dictionary 应用程序

并且它还内置了牛津英汉汉英、现代汉语等官方规范词典,以及大量其他语言词典,只需要在其 Preferences 中配置启用、设置顺序即可。

Dictionary Preferences

但由于 Dictionary 属于内置离线词典,很多新的网络流行用语和专业词汇无法实时收录其中,因此我们还需要一个能支持在线搜索的词典。「有道词典」与「欧路词典」是两个不错的选择。

可以说在界面外观、搜索准确度上,两款词典都是词典类软件的标杆,并且在跨终端方面,都提供有 Web / Windows / Mac / iOS / Android 等平台版本,十分方便。

更难得的是他们都提供了「单词本云同步」功能,我们可以在电脑端将不熟悉的单词加入单词本(生词本),然后在手机端进行温习和巩固

特性 系统 Dictionary 欧路词典 Mac 版 有道词典 Mac 版
在线搜索
屏幕取词 ☆☆☆ ★★☆ ★☆☆
划词搜索 ★★★ ★★★ ★☆☆
单词本同步
价格 免费 ¥98.00 免费

「屏幕取词」在 Mac 上的性能都不是很好,欧路词典在部分软件中存在取词定位不准、偶尔无响应的问题,有道词典更是完全没有成功使用过,不过这个功能使用场景很少比较鸡肋,不要也罢。「划词搜索」方面,Dictionary 和欧路比有道的体验好很多,但由于快捷键设置的原因,操作效率都不高。

如果不考虑价格因素,Mac 版欧路词典几乎可以说是最好的选择了,然而我想说的更好用的词典软件并不是它。

因为,更好用的软件一定是「免费的、好看的、功能稳定的、占用资源少的、操作效率高的、能够个性化订制的」。两款功能相似的软件,一旦其中一款在以上一项或几项中超过了另外一个软件时,那么它将成为「更好用的软件」。

自定义 Alfred Workflows

接下来我要介绍的这款词典软件,其实是一款基于 Alfred 的 Workflows 插件工具。为什么说它是「Mac 下更好用的词典软件」?因为它是猫哥根据自己的需求定制的,它包含以下特点:

  • 免费
  • 查词准确(使用了「有道在线翻译 API」)
  • 操作效率极高(Alfred 全局快捷键与搜索框)
  • 有道单词本在线同步

接下来,我们来看下它的使用流程。插件的下载地址与具体使用方法,请查看我的 Github :https://github.com/kaiye/workflows-youdao/

1、双击选中任意应用程序中的文本,按两下 command 键,Alfred 搜索框会自动开启并进行翻译。选中需要的释义项,按下 enter 键,相关的单词、音标和释义会自动同步至有道在线单词本。

选中文本后双击 command 快速翻译

2、若未配置有道帐号信息,则会保存在本地的单词本 XML 文件中。使用 Windows 版有道词典的导入功能,可以将该文件补充导入至有道单词本。

本地单词本格式与有道单词本兼容

3、在手机上温习新单词。一般每天睡前温习一下即可,需要英语考级的同学可以参考「艾宾浩斯遗忘曲线」制定更科学的复习计划。

有道词典手机版

接下来详细介绍一下 Alfred 和其他常用的效率工具开发方法,供大家参考。

Alfred 插件开发

Alfred 是一款类似 Spotlight 的文件搜索和 Web 搜索的软件。

Alfred 文件搜索

它最强大的地方在于,可以设置任意全局快捷键、运行任意应用程序和 Shell 脚本,通过简单的设置来实现复杂的自动化操作。它被称为 Mac 下的「神兵利器」,即便是毫无编程基础的同学,也可以自己动手快速实现一款插件来满足自己的个性化需求。

leIP 插件

由于操作太过简单,Alfred 官方甚至都没有提供详细的入门指南和工具类,基本上记住以下两条知识点即可开始自己动手编程了。

Workflows 工作流
  1. 常用功能可以直接基于 Examples 和 Templates 创建出来。例如当我们需要制作一个插件,以实现「使用全局快捷键来显示/隐藏一个应用程序」的功能时,可以参考上图所示的模板;
  2. Workflows 工作原理类似 Linux 管道命令。前一模块的标准输出会自动作为后一模块的参数输入,使用 {query} 即可引用。模块与模块之间的管道通过 GUI 拖拽操作可视化生成。

更多 Alfred Workflows 推荐,请参看「猫哥学前班」前几期的《全新 Mac 安装指南(编程篇)》。插件开发入门指南可以参看 Dean Jackson 的「Alfred Workflow 指南」(指南是英文的,不熟悉的同学可以用到前文提到工具),以及他提供的 Python 工具类,PHP 同学则可以用 David Ferguson 的 PHP 工具类

Windows 效率工具

Windows 下如果需要实现 Alfred 这样的文件搜索、快捷键定义、自动化脚本编写的工作流,需要借助以下三款效率工具。

  • Everything 。Windows 下最强大的搜索利器,搜索速度与体验好过系统默认搜索功能一个数量级;
  • AutoHotKey 。可以说 AHK 是 Windows 下的「神兵利器」,其自动化与自定义脚本功能与 Alfred 一样强大;
  • Win+R。win+r 是 Windows 系统 运行 对话框的快捷键,它是 Windows 下最绿色最高效的效率工具

以上三款工具,均是我多年前从「善用佳软」学习而来,xbeta 是国内 Windows 「效率工具」方面的顶尖高手和最佳启蒙老师,强烈推荐给 Windows 新人。

不过,如果你是一名新手程序员,建议还是尽早使用 Mac 或者 Ubuntu 操作系统。如果你是一名游戏爱好者,还可以学一下「按键精灵」,自己编写的(合法)外挂程序,能让你在游戏中获得更大的 Imba 感和成就感:)

跨平台插件开发

从趋势上来看,基于 HTML5 API 和 Node.js 的跨平台插件开发是未来的主流方向。

  • Chrome App 。从 Github 上下载一些 chrome app sample 示例,简单浏览一下教程(墙内的墙外的)和官方 API 文档 ,不出半天时间就能开发出一款插件。
  • npm 命令行工具。npm 模块除了在 node 环境下作为依赖模块被引用以外,还可以直接作为命令行工具使用。通过 package.json bin 字段定义,在全局安装时即可自动注册为全局命令行。例如,这款用于生成字体的 makefont 命令行模块。
  • NW.js 。将 webkit 和 node 集成打包使用的跨平台方案。当前 Mac 版的「夺命追魂钉」用的就是这个方案。node + webkit 方案最终将会取代 Adobe AIR ,这是 HTML5 对 Flash 的胜利。
  • Electron 。微软新出的 Visual Studio Code 编辑器和 Github 的 Atom 编辑器使用的内核引擎,与 NW.js 的区别参看这里

我常常对新人说:「当一件事情重复做了三次,那么一定要想办法将它工具化以提升效率。」概括起来就是 DRY(Don't Repeat Yourself )和 DIY(Do It Yourself )。

「写工具」能同时提升我们的产品设计能力和开发编程能力。因为,当我们同时作为工具的制造者和使用者时(我们便从猴子进化成了人类),我们能够真正「站在用户的角度」去思考需求、设计产品;在进行工具插件的编写的同时,我们可以尝试不同的编程语言和设计模式,以提升自己的编程视野。

对于程序员来说,这是一个非常好的全栈实践之路。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 139,720评论 20 593
  • 这是一个用于iOS开发的各种开源库、开源资料、开源技术等等的索引库.转载自:https://github.com/...
    iOS_xuanhe阅读 15,129评论 12 161
  • 注意:长期更新,有“【任❤️何】”MAC软件需求(包括游戏、插件、图形设计、开发、系统、办公、网络等等),留言或者...
    Silence_广阅读 58,470评论 62 453
  • 你上我下 我抬起头你低下头 平行线的电梯 正如我们之间 你看不到 曾有一人 第一眼看到你 亮了世界 可你还是专注于...
    菲小高阅读 34评论 0 1
  • 你就是那个“叶紫荆”吧!这里是水涟漪的礼服装,日常装我会发送到你的幽幽竹林里。 叶幻蝶蒙了,什么“子衿郡主”用绝...
    紫荆花月阅读 35评论 0 0