Emacs
使 hunspell 與 emacs 和德語一起工作
我想
hunspell
在 ubuntu 13.04-box 上使用 emacs24 和德語詞典。為此,我安裝了以下內容
hunspell
並將hunspell-de
其添加到我的.emacs
文件中:(setq ispell-program-name "hunspell") (setq ispell-dictionary "deutsch8")
當我在 emacs 中打開一個文件並啟動時,
flyspell-buffer
我得到Starting new Ispell process [[hunspell::deutsch8]]
了但它阻塞了 emacs 緩衝區(滑鼠變成了一個指示等待的旋轉磁碟)並且可以無休止地工作而不顯示任何結果。所以我的配置肯定有問題。沒有第二行它可以工作,但僅適用於英文文本。
那麼在 ubuntu 13.04 上設置德語詞典的最佳方法是
hunspell
什麼emacs24
?有沒有可能的陷阱?
要檢查字典是否列在路徑中,請執行
hunspell -D
。它應該輸出以下內容:... /usr/share/hunspell/en_US /usr/share/hunspell/de_BE /usr/share/hunspell/de_LU /usr/share/hunspell/de_DE ...
接下來,將您喜歡的詞典添加到
ispell-local-dictionary-alist
您的.emacs
文件中(add-to-list 'ispell-local-dictionary-alist '("deutsch-hunspell" "[[:alpha:]]" "[^[:alpha:]]" "[']" t ("-d" "de_DE"); Dictionary file name nil iso-8859-1)) (add-to-list 'ispell-local-dictionary-alist '("english-hunspell" "[[:alpha:]]" "[^[:alpha:]]" "[']" t ("-d" "en_US") nil iso-8859-1)) (setq ispell-program-name "hunspell" ; Use hunspell to correct mistakes ispell-dictionary "deutsch-hunspell") ; Default dictionary to use
除此之外,您還可以定義一個函式在德語和英語詞典之間切換並將其綁定到
C-c d
例如(defun switch-dictionary-de-en () "Switch german and english dictionaries." (interactive) (let* ((dict ispell-current-dictionary) (new (if (string= dict "deutsch-hunspell") "english-hunspell" "deutsch-hunspell"))) (ispell-change-dictionary new) (message "Switched dictionary from %s to %s" dict new))) (global-set-key (kbd "C-c d") 'switch-dictionary-de-en)