Ich ging meine Konfigurationsdateien durch und wollte etwas aufräumen.
Mein Verständnis with-eval-after-load
war, dass sein Körper sofort ausgewertet wird, nachdem das zugehörige Paket geladen wurde. Während ich meine Konfigurationsdateien bereinigte und noch mehr aufteilte, wollte ich jede Paketkonfiguration mit einschließen with-eval-after-load
. Alles lief wie erwartet, bis ich die Konfiguration für helm
und beigelegt habe helm-projectile
.
Folgendes habe ich mir vorgestellt ( lisp / init-helm.el ):
(with-eval-after-load 'helm
(setq helm-mode-line-string "")
(add-to-list 'helm-sources-using-default-as-input 'helm-source-man-pages)
(define-key global-map (kbd "C-c m") 'helm-imenu)
(define-key global-map (kbd "C-x b") 'helm-buffers-list))
(with-eval-after-load 'helm-command
(global-set-key (kbd "M-x") 'helm-M-x))
(with-eval-after-load 'helm-projectile
(helm-projectile-on))
Nach dem Neustart von Emacs erhalte ich das folgende Problem mit der Fenstergröße:
So ändere ich die Größe meines Fensters:
(set-frame-parameter nil 'fullscreen 'fullboth)
Ich vermute, ich missbrauche with-eval-after-load
, wie würde man seine Emacs-Konfiguration bereinigen und sicherstellen, dass nichts kaputt geht, egal welches Paket installiert ist?
with-eval-after-load
alle meine paketbezogenen Anpassungen einmal zu verpacken. Dann sah ich das Licht und begann use-package
stattdessen zu benutzen .
(package-initialize)
und durch ersetzt, (require 'use-package)
aber es wird ein Dateifehler angezeigt: Datei kann nicht geladen werden, keine solche Datei oder kein solches Verzeichnis, use-package beim Neustart von Emacs. Und doch, sobald Emacs gestartet ist, kann ich ohne Probleme auswerten (require 'use-package)
. Schließlich habe ich sogar versucht with-eval-after-load
, noch den gleichen Fehler. Die Readme- Datei enthält keine genauen Informationen zur Installation use-package
von Paketen aus package.el.
.emacs
, vorzugsweise eine abgespeckte Version, die das Problem mit möglichst wenigen Zeilen und möglichst wenigen externen Paketen demonstriert. Dies hängt wahrscheinlich mit dem Timing des Frame-Setups im Verhältnis zur Paketlast beim Start zusammen . Aber ohne Ihren Code zu sehen, können wir nicht viel tun. Sagen Sie uns auch, welche Version von Emacs Sie verwenden.