如何在使用ispell时更改Emacs中的语言?

我想在Emacs中使用ispell-buffer命令。 它默认使用英文。 有没有一种简单的方法来切换到另一个字典(例如,另一种语言)?

以下命令提出了一个使用的已安装字典的列表:

Mx ispell-change-dictionary 

通常, Mx isp-cd扩展到上面。

从文件ispell.el你可以指定一些选项ispell命令。 这是通过添加一个部分到你的文件的结尾像这样:

 ;; Local Variables: ;; ispell-check-comments: exclusive ;; ispell-local-dictionary: "american" ;; End: 

请注意,双分号表示当前模式下注释的开始。 它可能应该改变,以反映你的文件(编程语言)引入评论的方式,比如// for Java。

在一个LaTeX文件的结尾可以使用:

 %%% Local Variables: %%% ispell-local-dictionary: "british" %%% End: 

这将设置字典仅用于该文件。

使用Mx ispell-change-dictionary并点击TAB查看可用的字典。

然后在你的.emacs写入默认字典的设置,并添加一个钩子来自动为你的特定模式(如果你想)启动ispell。

例如,在AUCTeX中使用英式英语自动启动ispell(默认英文字典是美式英语)

 (add-hook 'LaTeX-mode-hook 'flyspell-mode) ;start flyspell-mode (setq ispell-dictionary "british") ;set the default dictionary (add-hook 'LaTeX-mode-hook 'ispell) ;start ispell 

如果您想要更改每个目录的语言,可以将其添加到.dir-locals.el文件中:

 (ispell-local-dictionary . "american") 

如果您没有.dir-locals.el文件,它将如下所示:

 ((nil . ((ispell-local-dictionary . "american"))) ) 

有关更多信息,请参阅有关目录variables的emacs wiki页面 。