Revisé mis archivos de configuración y quería hacer una limpieza.
Comprendí with-eval-after-load
que su cuerpo sería evaluado justo después de cargar el paquete relacionado. Mientras limpiaba mis archivos de configuración y los dividía aún más, quería incluir cada configuración de paquete with-eval-after-load
. Todo salió como se esperaba hasta que adjunté la configuración para helm
y helm-projectile
.
Esto es lo que tenía en mente ( 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))
Después de reiniciar Emacs, aparece este problema de tamaño de ventana:
Así es como cambio el tamaño de mi ventana:
(set-frame-parameter nil 'fullscreen 'fullboth)
Supongo que estoy haciendo un mal uso with-eval-after-load
, ¿cómo se desinfectaría su configuración de Emacs y se aseguraría de que nada se rompa sin importar qué paquete esté instalado?
with-eval-after-load
para envolver todas mis personalizaciones relacionadas con el paquete una vez. Entonces vi la luz y comencé a usar en suuse-package
lugar.(package-initialize)
y lo reemplacé,(require 'use-package)
pero obtendré un error de archivo: no se puede abrir el archivo de carga, no hay tal archivo o directorio, use-package al reiniciar Emacs. Y, sin embargo, una vez que Emacs ha comenzado, puedo evaluar(require 'use-package)
sin problemas. Finalmente, incluso lo intentéwith-eval-after-load
, sigue siendo el mismo error. El archivo Léame no es muy claro sobre cómo instalaruse-package
cuando se usan paquetes de package.el..emacs
, preferiblemente una versión simplificada que demuestre el problema con la menor cantidad de líneas y la menor cantidad de paquetes externos posibles. Esto probablemente tiene que ver con el momento de la configuración del marco frente a la carga del paquete durante el inicio . Pero sin ver su código, no hay mucho que podamos hacer. También díganos qué versión de Emacs está usando.Respuestas:
Utilizo
with-eval-after-load
mucho, principalmente para agregar o eliminar elementos ao de listas después de que se hayan evaluado los valores predeterminados. De esa manera no tengo que hacer un seguimiento de los cambios en los valores predeterminados.En cuanto al problema con su
helm
inicialización, la documentación recomienda que(require 'helm-config)
esté presente eninit.el
sus dependencias.Descubrí que es más fácil exigirlo
helm-config
durante la inicialización en lugar de confiar en élautoload
, especialmente porque, de todos modos, lo cargaría casi de inmediato la mayor parte del tiempo.fuente
use-package
, e incluso mientras lo requiero,helm-config
sigo teniendo el mismo problema. Aquí está mi configuración de configuración actualizada: bitbucket.org/angrybacon/dotemacs/src .Resulta que no tenía nada que ver con la
helm
inicialización (o poco).En mi búsqueda eterna para optimizar el tiempo de inicio de Emacs, he movido todas las cosas relacionadas con la interfaz al comienzo de mi configuración. Eso incluye la pseudo pantalla completa que uso.
Poner la línea correspondiente antes de que se cargara cualquiera de los pesados lisp solucionó mi problema.
Aquí está mi configuración para referencia .
fuente