Inną alternatywą jest użycie pakietu użytkowego Johna Wiegleya . Zapewnia to programowy sposób konfiguracji pakietów, który ładnie działa z procesem inicjalizacji pakietu emacs 24+. Oto przykład użycia z pliku 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))
Chodzi o to, że pakiet use jest makrem i nie ocenia natychmiast swoich argumentów. :init
I :config
parametry są oceniane w poszczególnych etapach procesu inicjalizacji, umożliwiając mieć konfigurację każdego pakietu w jednym miejscu, ale mają każda część jest wykonywany w odpowiednim etapie inicjalizacji.
Bez czegoś takiego jak use-package
niektóre pakiety wymagają części kodu inicjalizacyjnego, aby przejść wcześniej, (package-initialize)
a kolejnej części. Jeśli masz wiele takich pakietów, to ich inicjalizacje musiałyby być przeplatane.
Kolejną zaletą use-package
jest to, że może on automatycznie instalować brakujące pakiety przy użyciu package.el, jeśli zabierzesz .emacs na nowy komputer lub jeśli udostępnisz swoją konfigurację innemu użytkownikowi, a cała inicjalizacja może zostać odroczona do momentu, aż pakiet rzeczywiście będzie wymagał załadowania.
Istnieją również dodatkowe argumenty słów kluczowych, które pozwalają na większą kontrolę nad procesem inicjalizacji.
Wszystko, co powiedziałem, jedną wielką zaletą dostosowywania jest to, że pokazuje, co należy skonfigurować w danym pakiecie. To jeden z powodów, dla których wciąż używam go do wielu moich pakietów.