Next Previous Contents

5. Ispell

如果您要在使用 Emacs 时作拼字检查,您可以使用 Ispell 套件及其 Emacs 模式。

5.1 选择您的预设辞典 (default dictionaries)

您可以设定 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")
       ))
      

5.2 为特定文件设定个别的辞典

如果您没有用同一语言来检查整份文件的拼字,那么您可能会遇到一些困难。但当您在翻译文章时,您很有可能经常交换使用不同的语言与辞典。

不管是自动设定的或是手动的,我并不清楚 Lisp 是如何选择所需的主辞典和个人辞典。(如果您知道的话,请来信告诉我!)

不过呢,在每一个文档的结尾,只要将下列指令加入作为注释,您都可以指定您现行的文档要使用哪一辞典。 Ispell 开始拼字检查时即可应用所指定的辞典:

      <!-- Local IspellDict: english -->
      <!-- Local IspellPersDict: ~/emacs/.ispell-english -->
     

假如您在 .emacs 文档里已经设定了预设辞典为法文,那您可以将上述指令加入您所写的英文文件的结尾,以便使用英文辞典。

5.3 文件的拼字检查

若要检查整份文件,可在文件内任一处使用 Meta-x ispell-buffer 指令。您也可以检查文件某些部分的拼字:

Emacs 就会开始执行 Ispell。当遇到辞典里所没有的字时,程序会显示这个字(通常以反白显示),并要求您输入下列指令:

如果 Ispell 找到类似的词汇,它会将这些文字显现在一小视窗内,每一个文字前都有号码标明,只要键入您要的那个字汇的号码, Ispell 就会以您所选的字取代错字。

5.4 个人辞典与个别文档辞典 (local file dictionary) 的比较

i 键让您可以在您的个人辞典内插入一个新字,而 A 键让您在个别文档辞典内插入新字。

个别文档辞典其实是一文档结尾所插入一系列的字或评论, Ispell 每次检查此文档的拼字时都会重新读取这个辞典。如此,您就可以键入一些只在这特定文档能接受的字,而其他文档则可不受此辞典影响。

在我看来,我认为个人辞典最好是用来储存一些主辞典所没有的字,尤其是哪些属于各国语言的字(像是有连字符号 hyphenated 的字),及一些通用的特定名词(像是 Linux),但在个人辞典内加入太多像是姓名的单字也不太好,因为这些字就会被当作一般字使用了(您可以想像如果您把 Tof 加入个人辞典内, Ispell 可能就会在下列的例子里,忽略这个错字:

`When the going gets tof, the tof get going.' Tof 是法文 Christophe 名字的缩写。

5.5 键入时的拼字检查

当您在键入文字时,只要您在这 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)
      


Next Previous Contents