7

我如何(自动)将字典(例如通过自动调用ispell-change-dictionary)设置为特定目录下每个文件的特定语言?

示例:我希望我的标准目录语言是美式英语(例如通过(setq ispell-dictionary "en_US-wo_accents")在我的.emacs文件中设置),但我想对目录下(或:下)的所有文件使用英式英语/home/werner/dissertation//home/werner/letters/对于.下的所有文件,也许是荷兰语

我知道规定-*- ispell-dictionary: "english" -*-在文件的第一行使用该解决方案来设置该特定文件的字典(在EmacsWiki.org中描述)。我想防止必须将这一行放在我制作的每个新文件的顶部。

4

1 回答 1

8

您可以使用类似的东西(但当您想为给定文件制作复杂的东西时,这种方法更有用):

(defun set-dictionary-hook ()
  (when (and (stringp buffer-file-name)
     (string-match "/dissertation/" buffer-file-name))
    (setq ispell-local-dictionary "ru")))
(add-hook 'find-file-hook 'set-dictionary-hook)

或者您可以.dir-locals.el按照Emacs 手册中的说明指定它- 我认为这将比第一种方法更简单,例如:

((tex-mode . ((ispell-local-dictionary . "english"))))

对于具有特定模式的文件,或

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

对于所有文件

于 2012-01-25T17:25:33.990 回答