当我在文本模式下使用german8模式时,当我试图加载“flyspell”拼写字典时,我得到了这个错误信息:
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/deutsch。Ubuntu synaptic包管理器向我提供了"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-mode,然后尝试执行ispell-change-dictionary。提供了german8,但消息再次出现:
Error enabling Flyspell mode:
(Error: The file "/usr/lib/aspell/german" can not be opened for reading.)发布于 2015-07-16 23:18:22
我遇到了完全相同的问题,但我找到了一个非常简单的解决方法。我想
将Emacs的拼写检查器设置为aspell,即已安装适当的aspell字典,例如通过apt-get install aspell-de.安装(setq-default ispell-program-name "aspell")
由于某些原因,ispell“看到”的字典列表中似乎有一个bug,即执行ispell-change-dictionary时可用的字典列表。当选择"deutsch“时,它会尝试加载"/usr/lib/aspell/deutsch\"。但是,由于aspell-de现在包含名为de_DE*的字典,因此看起来拼写字典名称发生了变化。我猜@Daniel Ralston的答案是解决这个问题,但这对我不起作用。我还试图将实际的字典名称传递给ispell-change-dictionary,但不知何故,它坚持从它自己的列表中获取字典,并且我始终无法说服它我的字典确实是正确的。
不过,对我来说起作用的是一个简单的符号链接修复。一开始,我不确定我应该符号链接什么,因为错误看起来像是试图从名为"deutsch“的目录中加载字典。但事实证明,它实际上是在寻找一个典型的aspell .alias文件。所以通过使用这个符号链接
sudo ln -s /usr/lib/aspell/de_DE.alias /usr/lib/aspell/deutsch.alias我现在可以简单地在ispell-change-dictionary中选择"deutsch“。
发布于 2013-03-14 01:19:12
最近,一些旧的和经常使用的字典别名似乎已经从德语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)))发布于 2015-03-05 22:55:14
我在Arch Linux上遇到了同样的问题:安装了aspell-ru字典,但是当我在emacs中执行ispell-change-dictionary russian (russian是字典的建议名称)时,它返回了
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运行得很好。
检查字典文件的实际名称。
https://stackoverflow.com/questions/15346723
复制相似问题