2013-03-11 19 views
7

我收到此錯誤信息,而在文本模式下使用flyspell模式,當我嘗試加載「german8」拼寫字典:Emacs和ispell的:錯誤加載german8

Error in post-command-hook (flyspell-post-command-hook): (error "Error: The file "/usr/lib/aspell/deutsch\" can not be opened for reading.") 

我檢查,也沒有/ usr/lib中/中的aspell /德語。 Ubuntu突觸式軟件包管理器給我提供了「aspell-de」,但沒有清楚。

下面是我的.emacs的代碼,解鈴:

;;switch dictionaries between German and English with F8 key 
(defun fd-switch-dictionary() 
     (interactive) 
     (let* ((dic ispell-current-dictionary) 
     (change (if (string= dic "deutsch8") "english" "deutsch8"))) 
     (ispell-change-dictionary change) 
     (message "Dictionary switched from %s to %s" dic change) 
     )) 

(global-set-key (kbd "<f8>") 'fd-switch-dictionary) 

我可以通過簡單地啓動flyspell模式則試圖做的ispell變化詞典重複同樣的錯誤。 german8被提供,但再次出現的消息:

Error enabling Flyspell mode: 
(Error: The file "/usr/lib/aspell/german" can not be opened for reading.) 

回答

1

最近,一些老經常使用字典別名似乎已經從德國的aspell包裝中取出。這使emacs的德語字典定義過時了。嘗試添加這對您的.emacs

(eval-after-load "ispell" 
    '(add-to-list 'ispell-dictionary-alist 
       '("deutsch8" 
        "[a-zA-ZäöüßÄÖÜ]" "[^a-zA-ZäöüßÄÖÜ]" "[']" t 
        ("-C" "-d" "de_DE-neu.multi") 
        "~latin1" iso-8859-1))) 
+0

感謝您的幫助,但它不是真的工作。我仍然得到'code'「啓動新的ispell過程[在/ usr/bin中/中的aspell ::默認] ... 的ispell過程殺死 當地的ispell字典設置爲deutsch8 詞典從零切換到deutsch8 開始新的ispell工藝[/ usr/lib/aspell :: deutsch8] ... post-command-hook(flyspell-post-command-hook)錯誤:(error「Error:The file \」/ usr/lib/aspell/deutsch \「can不能打開閱讀。「)」'代碼' – user2054900 2013-03-14 19:07:39

+0

.../usr/lib/aspell/deutsch不存在。我需要一個sym鏈接到某個東西嗎? – user2054900 2013-03-14 19:21:11

+0

我的錯誤。您正嘗試使用「deutsch8」字典,但是我的定義改爲定義了「german8」。我的答案應該現在解決。 – 2013-03-15 18:03:43

1

我遇到了同樣的問題上Arch Linux:安裝aspell-ru字典,而是當我做在Emacs ispell-change-dictionary russianrussian是用於字典建議的名稱),它與

返回
Error: The file \"/usr/lib/aspell-0.60/russian\" can not be opened for reading. 

所以我做了pacman -Ql aspell-ru事實證明,ru是字典的名稱,而不是russian。所以,ispell-change-dictionary ru工作正常。

檢查字典文件的實際名稱。

4

我有完全相同的問題,但我找到了一個非常簡單的解決方法。我認爲

  • 您的Emacs拼寫檢查由apt-get install aspell-de設置中的aspell,即(setq-default ispell-program-name "aspell")

  • 適當的aspell詞典安裝,例如。

出於某種原因,人們似乎在ispell的字典列表中的錯誤「看見」,即當您執行ispell-change-dictionary可用字典列表。選擇「deutsch」時,它會嘗試加載"/usr/lib/aspell/deutsch\"。然而,它看起來像aspell詞典名稱已更改,因爲aspell-de現在包含稱爲de_DE*的詞典。我猜@丹尼爾·拉爾斯頓的答案是想解決這個問題,但這對我並不適用。我也嘗試將實際的字典名稱傳遞給ispell-change-dictionary,但不知怎的,它堅持要從自己的列表中獲取字典,我永遠無法說服我的字典確實是正確的。

什麼是我工作雖然是一個簡單的符號鏈接修復。起初我不確定我應該怎樣符號鏈接,因爲這個錯誤看起來像是試圖從名爲「deutsch」的目錄加載字典。但事實證明,它實際上是在尋找一個典型的aspell .alias文件。因此,通過使用這個符號鏈接

sudo ln -s /usr/lib/aspell/de_DE.alias /usr/lib/aspell/deutsch.alias 

我現在可以簡單地在ispell-change-dictionary選擇「德語」。在小學OS相同的解決方案

+0

符號鏈接是一個簡單的修復,立即爲我工作。 – 2015-09-03 17:55:30

+0

對我來說,這個工作:我安裝了'aspell-de'(通過apt,不在Emacs裏),重新啓動了Emacs,並選擇了一個德語字典。沒有符號鏈接需要。也不是自動創建的。 – 2016-12-08 19:00:43

0

同樣的問題安裝包aspell-ES和的aspell-EU-ES:

sudo apt-get install aspell-es aspell-eu-es 

所有工作的罰款。