Eine weitere Alternative ist John Wiegley zu gebrauchen use-Paket . Dies bietet eine programmgesteuerte Möglichkeit zum Konfigurieren von Paketen, die mit dem Paketinitialisierungsprozess von emacs 24+ problemlos funktioniert. Hier ist ein Anwendungsbeispiel aus der Readme:
(use-package color-moccur
:commands (isearch-moccur isearch-all)
:bind (("M-s O" . moccur)
:map isearch-mode-map
("M-o" . isearch-moccur)
("M-O" . isearch-moccur-all))
:custom (isearch-lazy-highlight t)
:config (use-package moccur-edit))
Der Punkt ist, dass use package ein Makro ist und seine Argumente nicht sofort auswertet. Die Parameter :init
und :config
werden in verschiedenen Phasen des Initialisierungsprozesses ausgewertet, sodass die Konfiguration jedes Pakets an einem Ort erfolgen kann, wobei jedoch jeder Teil in der entsprechenden Phase der Initialisierung ausgeführt wird.
Ohne so etwas wie use-package
benötigen einige Pakete einen Teil ihres Initialisierungscodes, um vor (package-initialize)
und einen anderen Teil, um nach zu gehen. Wenn Sie so viele Packegas haben, müssten deren Initialisierungen verschachtelt werden.
Ein weiterer Vorteil von use-package
ist, dass fehlende Pakete mithilfe von package.el automatisch installiert werden können, wenn Sie .emacs auf einen neuen Computer übertragen oder wenn Sie Ihre Konfiguration für einen anderen Benutzer freigeben und die gesamte Initialisierung aufgeschoben werden kann, bis ein Paket tatsächlich geladen werden muss.
Es gibt auch zusätzliche Schlüsselwortargumente, mit denen Sie den Initialisierungsprozess besser steuern können.
Alles in allem ist ein großer Vorteil des Anpassens, dass es Ihnen zeigt, was in einem bestimmten Paket konfiguriert werden muss. Das ist ein Grund, warum ich es immer noch für viele meiner Pakete benutze.