2010-08-06 13 views
4

听起来很简单,但我无法修复它:我想永久禁用emacs中的自动拼写检查。我的init.el必须有一个简单的线。有人能帮助我吗?如何禁用Flyspell?

回答

11

找出它为什么在首位(它不是默认启用),然后解决这个问题。无论是你的init文件打开它,还是一些系统级的init文件。阅读这些文件:http://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html

+0

谢谢,我管理它:-)我在文件夹“site-lisp”中找到一个名为“myspell.el”的文件。在那里,我可以改变(flyspell模式t)到(flyspell模式0),它工作! – ploppy 2010-08-07 18:50:52

+0

我想建议删除该文件后,找出它来自哪里,它试图做什么。 – offby1 2010-08-08 00:10:55

+0

Site-lisp对你而言实际上是本地的吗?确保你没有禁用其他用户的功​​能。如果它只是你,而你只是禁用文件的那一部分,那么你可以完全删除这个sexp - 删除“(flyspell-mode t)”,而不是用“(flyspell-mode 0)”代替它。 – phils 2010-08-08 01:21:28

5
(flyspell-mode 0) 
+1

恕我直言,这根本没有做什么问的问题。以这种方式关闭flyspell模式不会阻止它再次打开。 – phils 2010-08-07 02:51:38

+0

这真的没有在“init.el”中工作。但在上面的用户offby1的帮助下,我在文件夹“site-lisp”中找到了一个名为“myspell.el”的文件。在那里,我可以改变(flyspell模式t)到(flyspell模式0),它的工作原理:-)谢谢! – ploppy 2010-08-07 18:50:08

6

从简单的介绍一下,我能看到的最简单的方法是重新定义函数:

(eval-after-load "flyspell" 
    '(defun flyspell-mode (&optional arg))) 

,或者你可以使用的建议,迫使参数始终是-1(见C-h f turn-off-flyspell)但是这样做会稍微复杂一些,没有很好的理由会降低效率。

如果你想知道什么是运行它摆在首位,你可以使用M-x debug-on-entry flyspell-mode,它会显示一个堆栈跟踪时被调用的函数(q退出调试; 章米列出其他命令; M-: (info "(elisp)debugger")寻求帮助)。使用M-x cancel-debug-on-entry删除该断点。

0

我找到了我的〜/ .emacs.d/USK/text.el

我删除具有FlySpell做的代码块和关闭emacs的。

重新打开emacs后,我仍然看到拼写错误(红色下划线)。但是,我只是删除并重新输入“拼写错误”的单词,然后,emacs没有强调。问题解决了。

我正在运行Debian。

0

在我的案例中flyspell-mode已经在.emacs.desktop文件中占据了一席之地。

这不是第一次desktop-mode导致恢复过时的事情的痛苦。在这种情况下,它恢复了每个文件的基础上的所有模式,虽然在.emacs.el我已经禁用flyspell-modeflyspell-prog-mode无处不在。

解决方案:编辑.emacs.desktop文件或将其删除。

0

使用Emacs的图形模式,你可以右键点击上方“飞”辅助模式波纹管,然后选择“关闭辅助模式”是这样的:

Just right click above Fly