導言
如果經常要用 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