博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Emacs即时检查单词拼写--解决Enabling Flyspell mode gave an error
阅读量:4980 次
发布时间:2019-06-12

本文共 1331 字,大约阅读时间需要 4 分钟。

Emacs支持即时拼写检查,即on-the-fly spelling checking。通常只需在Emacs中运行:

M-x flyspell-mode

即可打开即时检查。但在输入该命令时可能会出现以下报错:

由于flyspell-mode是启动一个单独的小程序ispell,借用些实用工具实现单词拼写检查/纠错。对于flyspell-mode的介绍可以参考。

这个小工具虽是GNU系统的一部分,但不是。GNU中对应的替代程序是。具体区别请参考各自的网站。本例所用的是aspell。

 

既然Emacs靠此工具执行即时检查,我们先测试一下这个工具是否正常工作:

jerry@ubuntu:~$ cat mistake.txt | aspell –a –l en

原来是aspell没有安装,这个好办。我们安装aspell:

jerry@ubuntu:~$ apt-get install aspell

由于默认地Emacs使用ispell作为拼写检查程序,我们需要在.emacs文件中加入以下内容来,修改flyspell-mode的默认拼写检查程序:

(setq-default ispell-program-name "aspell")

一般情况下,这样就可以了。我们可以到Emacs中使用M-x flyspell-mode来启用即时检查。

 

但有时当你在Emacs执行M-x flyspell-mode会出现类似以下的错误:

ispell-init-process: Error: The file "/usr/local/lib/aspell/xxxxxx   can not be opened for reading.

这是为什么呢?我们再次测试aspell是否正常工作:

原来是用来支持aspell的字典没有安装,执行以下命令安装字典:

jerry@ubuntu:~$ sudo apt-get install aspell-en

安装完成后,测试:

一切正常,这时我们可以再次打开Emacs,并用M-x flyspell-mode打开即时检查。

 

问题依旧,别发狂,如果你是在Ubuntu10.10中,请参考Stackoverflow上的,这是一个Bug,不是你的错 :)。接着我们删除几个多余文件:

/usr/share/emacs/site-lisp/dictionaries-common/debian-ispell.el

/usr/share/emacs/site-lisp/dictionaries-common/flyspell.el
/usr/share/emacs/site-lisp/dictionaries-common/ispell.el

and all the .el .elc files in

/usr/share/emacs/23.1/site-lisp/dictionaries-common

经过此番折腾,我们再次M-x flyspell-mode开启即时检查。

小样,你终于出来了。

转载于:https://www.cnblogs.com/Jerry-Chou/archive/2010/12/20/1911944.html

你可能感兴趣的文章
角谷猜想
查看>>
博客作业05-查找
查看>>
ubuntu16.04 删除内核
查看>>
Python【每日一问】28
查看>>
python的数字IP实现
查看>>
Android_如何将.9的图片转换成bitmap
查看>>
curl 查看接口的网络分段响应时间
查看>>
构建之法阅读笔记01
查看>>
通过源码分析Java开源任务调度框架Quartz的主要流程
查看>>
DateTime 中的 ToString 格式化输出
查看>>
python并发编程之IO模型 (四十九)
查看>>
8算法策略之枚举法
查看>>
ubuntu 下修改MySQL 的root用户密码
查看>>
C++11 多线程
查看>>
Event percentages解析
查看>>
重构手法之重新组织函数【4】
查看>>
重构手法之简化条件表达式【4】
查看>>
NYOJ 128 前缀式计算
查看>>
方向、重力加速度-Android仿iPhone晃动撤销输入功能(微信摇一摇功能)-by小雨
查看>>
MySQL基础复习
查看>>