¿Cómo se puede importar un nuevo fragmento de code (una biblioteca de lisp de Emacs) en su archivo .emacs
?No se puede importar un archivo a su .emacs
No quiero poner todo en un enorme archivo .emacs
.
¿Cómo se puede importar un nuevo fragmento de code (una biblioteca de lisp de Emacs) en su archivo .emacs
?No se puede importar un archivo a su .emacs
No quiero poner todo en un enorme archivo .emacs
.
poner el archivo en un directorio google.el
, dicen ~/lisp
, y luego en su .emacs:
(add-to-list 'load-path "~/lisp")
(require 'google)
Si desea agregar un directorio y sus subdirectorios, se puede extraer la answers in this SO question.
Y, a medida que agrega más y más líneas 'require
, notará que la velocidad se ralentiza al inicio. En ese punto, querrá saber cómo make Emacs start up faster por supuesto que me gusta my answer.
elisp-load-dir puede ayudar, si necesita cargar muchos archivos a la vez. lo uso para cargar los archivos de configuración por-tema, que a su vez sólo se carga automática las cosas pesadas cuando realmente se necesita:
.emacs
.emacs.d/
lisp/
elisp-load-dir.el
... other .el files that provide a feature
rc/
... many small .el file that set variables, defaults, etc for me
Así que mis .emacs es realmente mínima, ya que sólo añade ~/.emacs.d/lisp
a la trayectoria de la carga, de manera que Puedo instalar extensiones de terceros allí. Entonces se requiere elisp-load-dir
y lo utiliza para cargar los archivos de configuración lo que tengo en ~/.emacs.d/rc
:
(add-to-list 'load-path "~/.emacs.d/lisp")
(require 'elisp-load-dir)
(elisp-load-dir "~/.emacs.d/rc")
;; then comes all the custom-set-faces stuff that emacs puts there
Los archivos rc/*.el
son, básicamente, lo que se pone en su .emacs
, excepto que se ve en módulos. Por ejemplo, tengo una para cada modo de uso regular, una para la puesta en marcha, la desactivación de la pantalla de bienvenida, la barra de herramientas, etc ...
¿Podría darme un ejemplo de cómo usa el código? Por ejemplo, al pasar de la configuración de trabajo a freeTimeSettings. Soy nuevo en Lisp. –
Agregué detalles. No creo que eso responda a tu pregunta sobre el trabajo/tiempo libre, pero no estoy seguro de entender lo que quieres decir. Esa podría ser una pregunta en sí misma, supongo. –
También puede agregar una declaración de carga simple en el fichero .emacs:
(load "/path/to/library.el")
Francamente, me gusta la solución de Trey: mantiene todos los archivos .el en una sola ubicación.
Editar: eliminó la declaración 'requerir', según la declaración de Trey.
¿Qué significa la declaración require? Me aparece el siguiente error en Emacs http://dpaste.com/38167/ –
El 'require en su solución es innecesario ya que' require 'daría como resultado una llamada a' load de todos modos. –
@Trey: ¿Cómo se puede probar que los archivos Lisp están incluidos en Emacs? –
¿Funciona esto para archivos .el anidados en subdirectorios bajo la ruta de carga? Tuve que incluir manualmente algunos archivos .el que estaban ubicados más abajo que el directorio ~/.emacs.d (donde guardo mis archivos .el), aunque tal vez hice algo mal. – bedwyr
No, no funciona para directorios anidados. Pero agregué un enlace para saber cómo hacer eso. –