首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs和ispell:加载german8时出错

Emacs和ispell:加载german8时出错
EN

Stack Overflow用户
提问于 2013-03-12 03:17:10
回答 4查看 3.3K关注 0票数 8

当我在文本模式下使用german8模式时,当我试图加载“flyspell”拼写字典时,我得到了这个错误信息:

代码语言:javascript
复制
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中引发麻烦的代码:

代码语言:javascript
复制
;;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,但消息再次出现:

代码语言:javascript
复制
 Error enabling Flyspell mode:
(Error: The file "/usr/lib/aspell/german" can not be opened for reading.)
EN

回答 4

Stack Overflow用户

发布于 2015-07-16 23:18:22

我遇到了完全相同的问题,但我找到了一个非常简单的解决方法。我想

将Emacs的拼写检查器设置为aspell,即已安装适当的aspell字典,例如通过apt-get install aspell-de.安装(setq-default ispell-program-name "aspell")

  • the

由于某些原因,ispell“看到”的字典列表中似乎有一个bug,即执行ispell-change-dictionary时可用的字典列表。当选择"deutsch“时,它会尝试加载"/usr/lib/aspell/deutsch\"。但是,由于aspell-de现在包含名为de_DE*的字典,因此看起来拼写字典名称发生了变化。我猜@Daniel Ralston的答案是解决这个问题,但这对我不起作用。我还试图将实际的字典名称传递给ispell-change-dictionary,但不知何故,它坚持从它自己的列表中获取字典,并且我始终无法说服它我的字典确实是正确的。

不过,对我来说起作用的是一个简单的符号链接修复。一开始,我不确定我应该符号链接什么,因为错误看起来像是试图从名为"deutsch“的目录中加载字典。但事实证明,它实际上是在寻找一个典型的aspell .alias文件。所以通过使用这个符号链接

代码语言:javascript
复制
sudo ln -s /usr/lib/aspell/de_DE.alias /usr/lib/aspell/deutsch.alias

我现在可以简单地在ispell-change-dictionary中选择"deutsch“。

票数 6
EN

Stack Overflow用户

发布于 2013-03-14 01:19:12

最近,一些旧的和经常使用的字典别名似乎已经从德语aspell包中删除。这使得emacs的德语字典定义已经过时。尝试将其添加到您的.emacs

代码语言:javascript
复制
(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)))
票数 1
EN

Stack Overflow用户

发布于 2015-03-05 22:55:14

我在Arch Linux上遇到了同样的问题:安装了aspell-ru字典,但是当我在emacs中执行ispell-change-dictionary russian (russian是字典的建议名称)时,它返回了

代码语言:javascript
复制
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运行得很好。

检查字典文件的实际名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15346723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档