2012-01-25 21 views
3

我如何(自動)將字典(例如通過自動調用ispell-change-dictionary)設置爲特定目錄下每個文件的特定語言?例如:我希望我的標準目錄語言是美式英語(例如,通過在我的.emacs文件中設置(setq ispell-dictionary "en_US-wo_accents")),但是我希望對目錄/home/werner/dissertation/下面(或下面)的所有文件使用英式英語。對於所有/home/werner/letters/下的文件,可能還有荷蘭文。如何爲特定目錄下的所有文件設置ispell字典

我知道解決方案規定在文件的第一行使用-*- ispell-dictionary: "english" -*-來設置該特定文件的字典(在EmacsWiki.org處進行了描述)。我想阻止必須將這條線放在我製作的每個新文件之上。

回答

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

相關問題