emacs autocomplete lisp

Aparece un error cuando intento instalar autocompletar en emacs



autocomplete lisp (4)

Sospecho que el problema es que add-to-list quiere preceder a una lista existente, pero no existe tal variable en el momento en que la está llamando.

Puede utilizar (setq ''ac-dictionary-directories "~/.emacs.d/ac-dict") lugar o seguir los consejos de la ayuda para agregar a la lista:

Si desea usar add-to-list'' on a variable that is not defined until a certain package is loaded, you should put the call to agregar-a-la-lista en una función de enlace que se ejecutará solo después de cargar el paquete . `eval-after-load ''proporciona una forma de hacerlo. En algunos casos, otros ganchos, como los ganchos de modos principales, pueden hacer el trabajo.

En otras palabras, algo así como:

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

O, finalmente, puede establecer la variable después de la require , pero no estoy seguro de cómo interactúa con la inicialización de autocompletar.

Soy novato en emacs ... Tengo unos días y creo que emacs es increíble, pero me sale un error cuando intento instalar autocompletar ... Lo instalo desde http://cx4a.org/software/ autocompletar / la instalación funciona (uso el archivo MAKE) ... pero cuando coloco estas líneas dentro de mi emacs.d

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

Me sale este error

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

Tengo mi carpeta .emacs en /home/yo/.emacs y dentro de esto tengo la carpeta ac-dic..interiormente hay modo c ++ ... modo ruby ​​mode ... etc..etc ... etc .....

mi autocomplete.el está dentro de mis .emacs también ... ¿qué estoy haciendo mal? ... ¡¡¡gracias !!!


ac-dictionary-directories se define en auto-complete.el, por lo que obviamente emacs no lo encontrará. Así que simplemente cambie el orden de las declaraciones:

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

Ahora, debería funcionar.


.emacs. es normalmente un archivo .emacs.d y .emacs.d es el directorio. Parece que los estás tratando al revés. Usted pone el

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

en ~/.emacs , no .emacs.d .

O bien, tu pregunta no está clara. ¿Cómo son tus ~/.emacs ?

EDITAR:

O bien, quieres hacer

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

en lugar de

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

Tengo mi carpeta .emacs en /home/yo/.emacs y dentro de esto tengo la carpeta ac-dic..interiormente hay modo c ++ ... modo ruby ​​mode ... etc..etc ... etc .....

~/.emacs debe ser un archivo. No es un directorio

pero cuando puse estas líneas dentro de mi emacs.d

~/.emacs.d/ debe ser un directorio


Tuve este problema Fue debido al hecho de que copié los archivos de autocompletar de otra computadora. Para solucionarlo, vuelvo a descargar las fuentes, luego recompilo y copio en mi cd auto-complete make byte-compile cp *.el *.elc ~/.emacs.d .emacs.d cd auto-complete make byte-compile cp *.el *.elc ~/.emacs.d