2011-04-15 5 views

Répondre

19

Votre .emacs ou init.el ne devrait pas avoir de commandes require ou load, il devrait avoir la plupart du temps autoload. La fonction autoload indique à Emacs "si vous avez besoin de cette fonction, chargez ce fichier". De cette façon, le fichier n'est chargé que lorsque et si vous utilisez réellement la fonction. Vous avez seulement besoin require (ou très rarement load) dans deux cas:

  • s'il y a une personnalisation qui doit entrer en vigueur immédiatement (par exemple (require 'cl), un thème de couleur);
  • si ce que vous chargez est un petit fichier qui contient les autoloads et d'autres définitions de démarrage d'un paquet (par exemple (require 'tex-site).

Si vous ne faites pas déjà, appeler autoload pour des choses comme Les personnalisations spécifiques au mode peuvent réduire considérablement le temps de démarrage, car Emacs devra charger moins de fichiers

En outre, assurez-vous que vos fichiers sont compilés en octet, ils se chargeront un peu plus vite (moins de temps CPU). M-x emacs-lisp-byte-compile sur chaque fichier .el, ou M-x byte-recompile-directory (ces commandes sont dans le Emacs-L menu isp). Enfin, notez que les temps de chargement importent peu, car vous devriez être starting Emacs at most once per session. Démarrez Emacs automatiquement lorsque vous vous connectez, soit avec une fenêtre, soit en arrière-plan avec l'option --daemon. Ensuite, pour modifier un fichier, exécutez emacsclient. Vous pouvez également tell emacsclient to start Emacs if it's not running yet si vous préférez ne pas le démarrer lorsque vous vous connectez.

+1

Pour les personnes ayant des problèmes avec le mode daemon et les couleurs de l'éditeur, ceci est très utile: http://www.emacswiki.org/emacs/SettingFrameColorsForEmacsClient – dermatthias

+0

Si vous n'aimez pas la confirmation de chaque répertoire et/ou fichier: '(octet -recompile-directory "~/où-i-put-mes-paquets /" nil nil "' ou change la dernière valeur nulle en quelque chose de non-nul pour forcer la recompilation. '(describe-function 'byte-recompile-directory)' roches :) – clintm

2

Vous pouvez compile it en tant que fichier .elc (M-x octet compilation fichier)

+0

De [48.4 Le fichier d'initialisation d'Emacs] (http://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html# Init-File): * "La compilation d'octets de votre fichier init n'est pas recommandée ... Si votre fichier init définit plusieurs fonctions, envisagez de les déplacer dans un fichier séparé (octet compilé) que vous chargez dans votre fichier init." * – DavidRR

+0

... Cela dit, il existe des mécanismes suggérés pour la gestion automatique d'une version octet-compilée de votre fichier d'initialisation Emacs. Par exemple, voir [ici] (http://stackoverflow.com/a/779145/1497596) et [ici] (http://stackoverflow.com/a/780735/1497596). – DavidRR

Questions connexes