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)

または、 Emacs マニュアル.dir-locals.elで説明されているように指定することもできます。これは、次のような最初のアプローチよりも簡単だと思います。

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

特定のモードを持つファイルの場合、または

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

すべてのファイル

于 2012-01-25T17:25:33.990 に答える