Emacs

使 hunspell 與 emacs 和德語一起工作

  • January 12, 2019

我想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)

引用自:https://unix.stackexchange.com/questions/86554