如果您要在使用 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)