2012-01-25 11 views
3

特定のディレクトリ以下のすべてのファイルに対して辞書を自動的に設定します(ispell-change-dictionaryへの自動呼び出しなど)。特定のディレクトリ以下のすべてのファイルに対してispellディクショナリを設定する方法

例:私はアメリカ英語であることを私の標準的なディレクトリ言語を好む(例えば私の.emacsファイルに(setq ispell-dictionary "en_US-wo_accents")を設定することによって)が、私は(または:下)以下のすべてのファイルのためのイギリス英語を使用するようにしたいと思いディレクトリ/home/werner/dissertation/。そして、おそらくオランダ語の/home/werner/letters/にあるすべてのファイルに対して。

私は(EmacsWiki.orgで説明)は、その特定のファイルのための辞書を設定するには、ファイルの最初の行に-*- ispell-dictionary: "english" -*-を使用するように規定溶液を承知しています。私はこの行を私が作るすべての新しいファイルの上に置かなければならないようにしたいと思います。

答えて

4

あなたは(あなたが与えられたファイルのために何かを複雑にしたいときには、このアプローチがより有用である)のようなものを使用することができます。

(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) 

のかEmacs Manualで説明したように、あなたが.dir-locals.elでそれを指定することができます - 私が思うに、最初のアプローチよりも、この意志シンプルなこと、何かのように:特定のモードを持つファイルを

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

、または

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

すべてのファイル

+1

+1ディレクトリローカル変数。 http://www.emacswiki.org/emacs/DirectoryVariablesも参照してください。 – phils

関連する問題