Przejrzałem moje pliki konfiguracyjne i chciałem trochę wyczyścić.
Zrozumiałem, with-eval-after-load
że jego ciało zostanie ocenione zaraz po załadowaniu powiązanego pakietu. Oczyszczając moje pliki konfiguracji i dzieląc je jeszcze bardziej, chciałem dołączyć każdą konfigurację pakietu with-eval-after-load
. Wszystko poszło zgodnie z oczekiwaniami, dopóki nie załączyłem konfiguracji dla helm
i helm-projectile
.
Oto, co miałem na myśli ( 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))
Po ponownym uruchomieniu Emacsa pojawia się problem z rozmiarem okna:
Oto jak zmieniam rozmiar mojego okna:
(set-frame-parameter nil 'fullscreen 'fullboth)
Zgaduję, że niewłaściwie używam with-eval-after-load
, w jaki sposób można zdezynfekować jego konfigurację Emacsa i upewnić się, że nic się nie zepsuje bez względu na to, jaki pakiet jest zainstalowany?
with-eval-after-load
aby zawinąć wszystkie moje dostosowania związane z pakietami. Potem zobaczyłem światło i zacząłem używać use-package
.
(package-initialize)
i zastąpiłem go, (require 'use-package)
ale dostanę Błąd pliku: nie można otworzyć pliku ładowania, nie ma takiego pliku lub katalogu, użyj pakietu podczas ponownego uruchamiania Emacsa. A jednak, kiedy Emacs zaczął, mogę ewaluować (require 'use-package)
bez problemu. Wreszcie nawet próbowałem with-eval-after-load
, wciąż ten sam błąd. Plik Readme nie jest zbyt jasny w kwestii instalacji use-package
podczas korzystania z pakietów z pliku package.el.
.emacs
, najlepiej uproszczoną wersję, która pokazuje problem z jak najmniejszą liczbą wierszy i jak najmniejszą liczbą zewnętrznych pakietów. Prawdopodobnie ma to związek z czasem konfiguracji ramki w porównaniu do obciążenia pakietu podczas uruchamiania . Ale bez zobaczenia twojego kodu niewiele możemy zrobić. Powiedz nam także, której wersji Emacsa używasz.