2011-04-15 26 views

Respuesta

19

Su .emacs o init.el no debería tener muchos require o load comandos, se debe en su mayoría tienen autoload. La función autoload le dice a Emacs "si alguna vez necesita esta función, cargue ese archivo". De esta forma, el archivo solo se carga cuando y si realmente usa la función. Sólo es necesario require (o muy raramente load) en dos casos:

  • si hay una personalización que necesita para entrar en vigor de inmediato (por ejemplo (require 'cl), un tema de color);
  • si lo que va a cargar es un pequeño archivo que contiene las definiciones de puesta en marcha y otros autoloads de un paquete (por ejemplo (require 'tex-site).

Si usted no está haciendo esto ya, llamando autoload para cosas como las personalizaciones específicas del modo pueden reducir significativamente el tiempo de inicio, porque Emacs tendrá que cargar menos archivos.

Además, asegúrese de que sus archivos estén compilados en bytes; se cargarán un poco más rápido (menos tiempo de CPU). M-x emacs-lisp-byte-compile en cada archivo .el, o M-x byte-recompile-directory (estos comandos están en el Emacs-L menú isp).

Por último, tenga en cuenta que los tiempos de carga no importan mucho porque debe ser starting Emacs at most once per session. Inicie Emacs automáticamente cuando inicie sesión, ya sea con una ventana o en el fondo con la opción --daemon. Luego, para editar un archivo, ejecute emacsclient. También puede tell emacsclient to start Emacs if it's not running yet si prefiere no iniciarlo cuando inicia sesión.

+1

Para las personas que tienen problemas con el modo daemon y los colores del editor, esto es muy útil: http://www.emacswiki.org/emacs/SettingFrameColorsForEmacsClient – dermatthias

+0

Si no te gusta confirmar cada directorio y/o archivo: '(byte -recompile-directory "~/where-i-put-my-packages /" nil nil) 'o cambie el último valor nil a algo no-nil para forzar la recompilación. '(describe-función 'byte-recompile-directory)' rocks :) – clintm

2

Usted puede compile it como un archivo .elc (M-x byte-compile-file)

+0

De [48.4 El archivo de inicialización de Emacs] (http://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html# Init-File): * "No se recomienda la compilación de bytes de su archivo init ... Si su archivo init define muchas funciones, considere moverlas a un archivo separado (compilado en bytes) que cargue en su archivo init." * – DavidRR

+0

... Dicho esto, existen mecanismos sugeridos para mantener automáticamente una versión compilada de bytes de su archivo de inicialización de Emacs. Por ejemplo, vea [aquí] (http://stackoverflow.com/a/779145/1497596) y [aquí] (http://stackoverflow.com/a/780735/1497596). – DavidRR

Cuestiones relacionadas