He decidido visitar Emacs y me ha gustado mucho. Ahora, estoy usando el Kit de inicio de Emacs , que proporciona mejores valores predeterminados y algunas personalizaciones agradables para la instalación predeterminada de Emacs.
Lo personalicé un poco, agregué algunas cosas como yasnippet , temas de color , sin consolidar y otras cosas. He configurado un repositorio de github donde guardo todas las personalizaciones para poder acceder a ellas desde múltiples lugares o en caso de que algo salga mal y pierda mi directorio .emacs.d.
Todo esto es muy bueno, pero hay un problema: Emacs tarda unos 1-2 segundos en cargarse. AFAIK Puedo compilar archivos .el individuales con Mx byte-compile-file a .elc, y funciona. Pero hay muchos archivos .el, y me pregunto si hay una manera de compilarlos todos con un simple comando o algo así, para acelerar la carga de Emacs. Mi Emacs no siempre está abierto, y lo abro y cierro con bastante frecuencia, especialmente después de configurarlo como editor predeterminado para el comando de edición en Total Commander para acostumbrarme más rápido (sí, Windows XP aquí).
Mi versión de Emacs es la 22.3. Y sí, la instalación predeterminada de Emacs sin ninguna personalización se activa instantáneamente.
No estoy seguro de qué versión se prefiere al cargar, el .el o .elc compilado uno por cierto Oo
Entonces, ¿hay un comando elisp o un interruptor de línea de comando Emacs para hacer que Emacs compile en bytes todo en el directorio .emacs.d?
C-u 0
(aliasC-0
, por cierto). Eso compilará byte solo aquellos archivos fuente que son más recientes que sus versiones compiladas por byte.FORCE
para recompilar archivos que ya tienen un ".elc" asociado, incluso si no son más antiguos que el archivo fuente:M-: (byte-recompile-directory "/the/directory/" 0 t)
Para compilar byte automáticamente todo lo que necesita compilación de bytes cada vez que inicio emacs, coloco lo siguiente después de mis cambios
load-path
en la parte superior de mi.emacs
archivo:Sorprendentemente, no agrega mucho a mi tiempo de inicio (a menos que sea necesario compilar algo).
Para acelerar mis emacs, primero identifiqué las partes lentas usando profile-dotemacs.el y luego las reemplacé con autocargas .
fuente
Puede usar la
--batch
bandera para volver a compilar desde la línea de comandos.Para recompilar todo, haz
o para recompilar un solo archivo a partir de un Makefile,
fuente
emacs -Q --batch -f batch-byte-compile *.el foo/*.el
: sin embargo, no se repite como byte-recompile-directory .Esto se está desviando un poco de la pregunta, pero para resolver el problema de cargar lentamente, puede usar la nueva función de daemon en Emacs 23.
De http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html
fuente
Para mi uso de spacemacs, el comando es
spacemacs/recompile-elpa
. El comandobyte-recompile-directory
no compila ningún archivo.fuente