2013-04-09 56 views
7

我找不到什么可以被添加到 init 文件默认启用自动拼写检查。如何在默认情况下启用自动拼写检查?

自动拼写检查(Flyspell)可以从菜单中启用 - 可能没有学会如何菜单项的工作方式?

+1

我不确定这是否是一个编程问题。听起来不像。尝试超级用户? (vim用户在这里,不能以任何方式帮助) – dequis 2013-04-09 01:42:54

+2

当然,这是一个编程问题,因为你只能以编程方式进行编程。这里是[回答如何做到这一点](http://stackoverflow.com/questions/6860750/how-to-enable-flyspell-mode-in-emacs-for-all-files-and-all-major-modes/6861176#6861176)。 – Onlyjob 2013-04-09 01:45:34

+1

是的,我知道emacs使用lisp,但它仍然听起来像你想使用你的编辑器的功能,而不是编码的东西。无论如何,这是你正在寻找的答案吗?如果是这样,你应该关闭这个答案或编辑成其他的东西。 – dequis 2013-04-09 01:51:36

回答

14

我在init.el如下:

(add-hook 'text-mode-hook 'flyspell-mode) 
(add-hook 'prog-mode-hook 'flyspell-prog-mode) 

这涵盖了我的编辑需求就好了。

钩子是像“事件”或观察者模式,如果你使用OOP:他们的是那些获得在某些点上运行的功能列表。您定制Emacs的主要方式之一是将您自己的函数添加到这些钩子。

在Emacs大多数模式叫钩正在启用时他们。 prog-mode是从中导出编程模式的模式,因此将函数添加到prog-mode-hook可定制所有编程模式。

这个东西的最佳参考是内置的Emacs Lisp手册(C-h rM-x info-emacs-manual)。它有关于Emacs Lisp编程的章节,包括关于钩子的章节。

+2

谢谢。我还添加了'(setq ispell-dictionary“british”)'来选择默认字典。 – Onlyjob 2013-04-09 06:42:15

+0

我发现您的解决方法不适用于多种文件类型。例如'emacs foo.log'在'emacs foo.log.txt'时不会有拼写检查器。下面显然适用于所有文件:'(add-hook'find-file-hooks'turn-on-flyspell)' – Onlyjob 2013-04-09 06:48:54

相关问题