当我尝试安装auto时出现错误

我是emacs的新手...我已经有几天了,我认为emacs很棒,但当我尝试安装自动完成时出现错误...我从http://cx4a.org/software/安装它自动完成/安装工程(我使用makefile)...但是当我把这些行放在我的emacs.d中

(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(require 'auto-complete-config)
(ac-config-default)

我得到这个错误

Warning (initialization): An error occurred while loading `/home/yo/.emacs':

Symbol's value as variable is void: ac-dictionary-directories

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the `--debug-init' option to view a complete error backtrace

我有我的文件夹.emacs在/home/yo/.emacs里面,我有文件夹ac-dic ..在这里有c ++模式.. lisp模式ruby模式... etc ..等等...等等.....

我的autocomplete.el也在我的.emacs里面......我在做什么错误......谢谢!!!


ac-dictionary-directories是在auto-complete.el中定义的,所以显然emacs不会找到它。 所以简单地改变语句的顺序:

(require 'auto-complete-config)
(ac-config-default)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")   

现在,它应该工作。


我怀疑问题在于add-to-list想要add-to-list现有的列表中,但在调用它时没有这样的变量。

您可以使用(setq 'ac-dictionary-directories "~/.emacs.d/ac-dict")或者按照帮助中的建议来添加列表:

如果你想add-to-list' on a variable that is not defined until a certain package is loaded, you should put the call to使用add-to-list' on a variable that is not defined until a certain package is loaded, you should put the call to add-to-list'放到一个钩子函数中,该函数只有在加载包后才能运行。 `加载后评估'提供了一种方法来做到这一点。 在某些情况下,其他钩子(如主要模式钩子)可以完成这项工作。

换句话说就是:

(eval-after-load 'auto-complete-config
  '(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict"))

或者,最后,你可以在require之后设置变量,但我不确定它是如何与自动完成初始化交互的。


.emacs. 通常是一个elisp文件,而.emacs.d是目录。 看起来你正在以相反的方式对待他们。 你把这个

(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(require 'auto-complete-config)
(ac-config-default)

~/.emacs ,而不是.emacs.d

或者,你的问题不清楚。 你的~/.emacs什么样的?

编辑:

或者,你想要做的

(add-to-list 'load-path "~/.emacs.d/ac-dict")
(require 'auto-complete-config)
(ac-config-default)

代替

(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(require 'auto-complete-config)
(ac-config-default)

我有我的文件夹.emacs在/home/yo/.emacs里面,我有文件夹ac-dic ..在这里有c ++模式.. lisp模式ruby模式... etc ..等等...等等.....

~/.emacs应该是一个文件。 不是目录。

但是当我把这些线放入我的emacs.d中时

~/.emacs.d/应该是一个目录

链接地址: http://www.djcxy.com/p/66219.html

上一篇: I get a error when I try install auto

下一篇: How to go about learning Common Lisp and Emacs Lisp?