如果您要在使用 Emacs 時作拼字檢查,您可以使用 Ispell 套件及其 Emacs 模式。
您可以設定 Emacs,使之在開始載入某一文件時,便自動選擇所需的辭典(您可以選擇好幾個)。預設辭典 (main dictionary) 即主要辭典,是與 Ispell 一起發行的辭典。您可以選擇您所需要的語言。第二個即是您的個人辭典 (personal dictionary),您可以設定要 Ispell 將您在主要辭典裡所找不到的字放到這裡。
假如您要將 Ispell 裡的法文辭典設為預設辭典,並想用您主目錄 (home directory) 下的 .ispell-dico-perso
檔案作為個人辭典,可以在 .emacs
檔案裡加入下列指令:
(setq sgml-mode-hook '(lambda () "Defauts for SGML mode." (setq ispell-personal-dictionary "~/.ispell-dico-perso") (ispell-change-dictionary "francais") ))
如果您沒有用同一語言來檢查整份文件的拼字,那麼您可能會遇到一些困難。但當您在翻譯文章時,您很有可能經常交換使用不同的語言與辭典。
不管是自動設定的或是手動的,我並不清楚 Lisp 是如何選擇所需的主辭典和個人辭典。(如果您知道的話,請來信告訴我!)
不過呢,在每一個檔案的結尾,只要將下列指令加入作為注釋,您都可以指定您現行的檔案要使用哪一辭典。 Ispell 開始拼字檢查時即可應用所指定的辭典:
<!-- Local IspellDict: english --> <!-- Local IspellPersDict: ~/emacs/.ispell-english -->
假如您在 .emacs
檔案裡已經設定了預設辭典為法文,那您可以將上述指令加入您所寫的英文文件的結尾,以便使用英文辭典。
若要檢查整份文件,可在文件內任一處使用 Meta-x ispell-buffer
指令。您也可以檢查文件某些部分的拼字:
Ctrl-Spc
標註 (mark)
(即所謂的 mark-set-command),Meta-x ispell-region
.Emacs 就會開始執行 Ispell。當遇到辭典裡所沒有的字時,程式會顯示這個字(通常以反白顯示),並要求您輸入下列指令:
Meta-x ispell-continue
,如果 Ispell 找到類似的詞彙,它會將這些文字顯現在一小視窗內,每一個文字前都有號碼標明,只要鍵入您要的那個字彙的號碼, Ispell 就會以您所選的字取代錯字。
i 鍵讓您可以在您的個人辭典內插入一個新字,而 A 鍵讓您在個別檔案辭典內插入新字。
個別檔案辭典其實是一檔案結尾所插入一系列的字或評論, Ispell 每次檢查此檔案的拼字時都會重新讀取這個辭典。如此,您就可以鍵入一些只在這特定檔案能接受的字,而其他檔案則可不受此辭典影響。
在我看來,我認為個人辭典最好是用來儲存一些主辭典所沒有的字,尤其是那些屬於各國語言的字(像是有連字符號 hyphenated 的字),及一些通用的特定名詞(像是 Linux),但在個人辭典內加入太多像是姓名的單字也不太好,因為這些字就會被當作一般字使用了(您可以想像如果您把 Tof 加入個人辭典內, Ispell 可能就會在下列的例子裡,忽略這個錯字:
`When the going gets tof, the tof get going.' Tof 是法文 Christophe 名字的縮寫。)
當您在鍵入文字時,只要您在這 ispell-minor-mode 模式下, Ispell 就會自動幫您檢查拼字。要啟動或關閉這模式,請鍵入這指令 Meta-x ispell-minor-mode
。每當有 Ispell 查不到的字時,它就會嗶一聲來提醒您。
假如您覺得嗶一聲很煩人,只要鍵入指令 Meta-x set-variable RET visible-bell RET t RET
,您就可以改用螢幕的閃爍來提醒您。您也可以在 .emacs
檔案裡加入下列指令來關掉 Emacs 的聲音:
(setq visible-bell t)