A medida que agrego más y más complementos y configuraciones al init.el de mi emacs, su inicio es cada vez más lento. Hay alguna manera de evitar esto?¿Cómo hacer que mis emacs personalizados carguen más rápido?
Respuesta
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.
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
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
Usted puede compile it como un archivo .elc (M-x byte-compile-file)
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
... 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
- 1. ¿Cómo hacer que los fragmentos se carguen más rápido?
- 2. ¿Cómo hacer mazos de cuerda más rápido en emacs?
- 3. ¿Cómo hacer que doxygen funcione más rápido?
- 4. ¿Cómo hacer que JVM arranque más rápido?
- 5. Hacer que JAXB vaya más rápido
- 6. ¿Cómo puedo hacer que mis anuncios aparezcan más rápido en mi aplicación de Android?
- 7. ¿Cómo hacer que un sitio web funcione más rápido?
- 8. ¿Cómo hacer que este Twisted Python Proxy sea más rápido?
- 9. ¿Cómo puedo hacer que Matlab Compiler funcione más rápido?
- 10. Cómo hacer que el eclipse IDE se construya más rápido
- 11. ¿Cómo puedo hacer que Java3D comience más rápido?
- 12. Cómo hacer que mi aplicación copie el archivo más rápido
- 13. ¿Cómo puedo hacer que Quartus II compile más rápido?
- 14. Cómo hacer que el emulador de Android arranque más rápido
- 15. ¿Cómo hacer que este script sed sea más rápido?
- 16. Hacer que Emacs respete mis opciones predeterminadas de shell +
- 17. ¿Cómo puedo hacer cout más rápido?
- 18. Más rápido que String.Replace()
- 19. ¿Es + = más rápido que - =?
- 20. ¿Puedo hacer que maven-assembly-plugin vaya más rápido?
- 21. Cómo hacer que mi código sea rápido
- 22. Algo más rápido que get_headers()
- 23. ¿Una forma de hacer que md5_file() sea más rápido?
- 24. Shoulda + FactoryGirl: ¿Puedo hacer que mis pruebas sean más rápidas?
- 25. Agregar marcadores personalizados a emacs org-mode
- 26. ¿Cómo evito que Emacs cambie mis búferes divididos?
- 27. ¿Cómo puedo hacer mis propios UIColor personalizados que no sean los preestablecidos?
- 28. ¿Cómo permito que los clientes carguen en Amazon S3 sin dar mis claves?
- 29. ¿Es `extender` más rápido que` + = `?
- 30. Algo más rápido que HttpHandlers?
posible duplicado de [¿Cómo puedo hacer que Emacs se inicie más rápido?] (Http://stackoverflow.com/questions/778716/how- can-i-make-emacs-start-up-faster) –