如果经常要用 Emacs 来写英文文章和邮件(例如 使用 Gnus 来上新闻组及收发邮件),作为一个文本编辑器,那么一个英文单词的拼写检查工具就必不可少了。幸运的是,Emacs 提供了 flyspell 模式来对拼写作出检查。
flyspell 只是一个 Emacs 的前端,需要配合其它拼写检查程序如 Aspell、Ispell 或是 Hunspell 来工作,即 flyspell 模式提供了桥接 Emacs 与其它拼写检查程序的管道。
推荐使用 Aspell 作为拼写检查程序,不推荐使用 Ispell,因为它太老了。本文就简单介绍一下基于 Aspell 的 flyspell 的基本使用方法,看看 flyspell 是如何通过使用 Aspell 来为 Emacs 提供单词拼写检查的功能。
安装 Aspell
不论是在 Linux 下或是 Windows 下,安装 Aspell 都需要安装 Aspell 本身以及指定语言的词典。
在 Linux 下安装 Aspell,非常简单,下面几个命令就足够了:
1) 安装 Aspell
./configure && make
make install
2) 如果 Aspell 已经正确安装好了,我们就可以安装 词典了:
./configure
make
make install
顺利安装后就可以使用了。
在 Windows 下安装 Aspell,推荐使用二进制版本进行安装,主要步骤有两步:
1) 下载 Aspell Full installer并安装;
2) 再安装你需要的词典,Aspell 提供了大概有二十几种语言的词典,下载你需要的词典并安装到你的 Aspell 的安装目录,词典就会被解压到相应的位置。
在 Emacs 里配置 Aspell
如果需要在 Emacs 里使用 Aspell 进行拼写检查,我们仍然需要进行适当的设置。
把下面这一行添加到 .emacs 文件,让 flyspell 模式使用你安装好的 Aspell 程序来进行语法检查:
(setq-default ispell-program-name "aspell")
重启 Emacs 后,我们就可以用 M-x flyspell-mode 进行语法检查了。
我们还可以进一步让某些模式自动启用语法检查功能。例如,如果我需要让所有的 text 模式自动启用语法检查功能,可以把下面这行添加到 .emacs 文件,这样当你以 text 模式打开一个文件的时候,就会自动启用语法检查功能了。
(setq text-mode-hook '(lambda()
(flyspell-mode t)
))
不过从速度角度考虑,不推荐这样使用。
现在,我们就可以用 M-x flyspell-mode 来启动 ispell 的拼写检查功能了。
注意:如果你在用命令 M-x flyspell-mode 启动拼写检查时,Emacs 提示如下错误:
Starting new Ispell process [default] ...
Enabling Flyspell mode gave an error