J'ai parcouru mes fichiers de configuration et je voulais faire un peu de nettoyage.
D'après ce que j'ai compris, with-eval-after-load
son corps serait évalué juste après le chargement du package correspondant. Tout en nettoyant mes fichiers de configuration et en les divisant encore plus, je voulais inclure chaque configuration de package avec with-eval-after-load
. Tout s'est déroulé comme prévu jusqu'à ce que j'inclus la configuration de helm
et helm-projectile
.
Voici ce que j'avais en tête ( 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))
Après avoir redémarré Emacs, j'obtiens ce problème de taille de fenêtre:
Voici comment je redimensionne ma fenêtre:
(set-frame-parameter nil 'fullscreen 'fullboth)
Je suppose que j'utilise mal with-eval-after-load
, comment pourrait-on désinfecter sa configuration Emacs et s'assurer que rien ne casse, quel que soit le package installé?
with-eval-after-load
pour envelopper toutes mes personnalisations liées aux packages une fois. Puis j'ai vu la lumière et j'ai commencé à utiliser à lause-package
place.(package-initialize)
et remplacé par(require 'use-package)
mais j'obtiendrai une erreur de fichier: impossible d'ouvrir le fichier de chargement, aucun fichier ou répertoire, use-package lors du redémarrage d'Emacs. Et pourtant, une fois Emacs démarré, je peux évaluer(require 'use-package)
sans problème. Enfin, j'ai même essayéwith-eval-after-load
, toujours la même erreur. Le fichier lisez-moi n'est pas très clair sur la façon d' installeruse-package
lors de l'utilisation des packages de package.el..emacs
, de préférence une version allégée qui illustre le problème avec le moins de lignes et le moins de packages externes possible. Cela a probablement à voir avec le moment de la configuration de la trame par rapport à la charge du package au démarrage . Mais sans voir votre code, nous ne pouvons pas faire grand-chose. Dites-nous également quelle version d'Emacs vous utilisez.Réponses:
J'utilise
with-eval-after-load
beaucoup, principalement pour ajouter ou supprimer des éléments dans ou à partir de listes après que les valeurs par défaut ont été évaluées. De cette façon, je n'ai pas à suivre les modifications des valeurs par défaut.Quant au problème de votre
helm
initialisation, la documentation recommande d'(require 'helm-config)
être présent dans vosinit.el
dépendances.J'ai trouvé qu'il est plus facile d'exiger simplement
helm-config
lors de l'initialisation plutôt que de compter dessusautoload
, d'autant plus que je le chargerais presque immédiatement la plupart du temps de toute façon.la source
use-package
, et même en exigeant,helm-config
je reçois toujours le même problème. Voici ma configuration de configuration mise à jour: bitbucket.org/angrybacon/dotemacs/src .Il s'avère que cela n'avait rien à voir avec l'
helm
initialisation (ou peu).Dans ma quête éternelle d'optimiser le temps de démarrage d'Emacs, j'ai déplacé toutes les choses liées à l' interface au tout début de ma configuration. Cela inclut le pseudo plein écran que j'utilise.
Mettre la ligne correspondante avant le chargement du lisp lourd a résolu mon problème.
Voici ma configuration pour référence .
la source