Examinei meus arquivos de configuração e queria fazer uma limpeza.
Meu entendimento with-eval-after-load
era que seu corpo seria avaliado logo após o carregamento do pacote relacionado. Enquanto limpava meus arquivos de configuração e os dividia ainda mais, queria incluir todas as configurações de pacotes with-eval-after-load
. Tudo correu como esperado até eu anexar a configuração para helm
e helm-projectile
.
Aqui está o que eu tinha em 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))
Depois de reiniciar o Emacs, recebo este problema de tamanho de janela:
É assim que redimensiono minha janela:
(set-frame-parameter nil 'fullscreen 'fullboth)
Suponho que estou usando indevidamente with-eval-after-load
, como higienizar sua configuração do Emacs e garantir que nada quebre, independentemente do pacote instalado?
with-eval-after-load
para quebrar todas as minhas personalizações relacionadas ao pacote uma vez. Então eu vi a luz e comecei a usaruse-package
.(package-initialize)
e o substituí por,(require 'use-package)
mas receberei Erro de arquivo: Não é possível abrir o arquivo de carregamento, nenhum arquivo ou diretório, use-package ao reiniciar o Emacs. E, no entanto, uma vez Emacs começou posso eval(require 'use-package)
com nenhum problema. Finalmente, eu até tenteiwith-eval-after-load
, ainda o mesmo erro. O leia-me não é muito claro sobre como instalaruse-package
ao usar pacotes do package.el..emacs
, preferencialmente, uma versão simplificada que demonstre o problema com o mínimo de linhas e o menor número possível de pacotes externos. Provavelmente, isso tem a ver com o tempo da configuração do quadro versus a carga do pacote durante a inicialização . Mas sem ver seu código, não há muito o que fazer. Diga-nos também qual versão do Emacs você está usando.Respostas:
Eu uso
with-eval-after-load
muito, principalmente para adicionar ou remover elementos de ou para listas depois que os valores padrão foram avaliados. Dessa forma, não preciso acompanhar as alterações nos valores padrão.Quanto ao problema com sua
helm
inicialização, a documentação recomenda a(require 'helm-config)
presença eminit.el
suas dependências.Descobri que é mais fácil exigir apenas
helm-config
durante a inicialização do que confiarautoload
, especialmente porque eu a carregaria quase imediatamente na maioria das vezes.fonte
use-package
e, mesmo exigindohelm-config
, continuo com o mesmo problema. Aqui está a minha configuração atualizada: bitbucket.org/angrybacon/dotemacs/src .Acontece que não tinha nada a ver com
helm
inicialização (ou pouco).Na minha eterna busca para otimizar o tempo de inicialização do Emacs, movi todas as coisas relacionadas à interface no início da minha configuração. Isso inclui a pseudo tela cheia que eu uso.
Colocar a linha correspondente antes que qualquer um dos pesados lisp fosse carregado solucionou meu problema.
Aqui está minha configuração para referência .
fonte