Decidi dar uma olhada no Emacs e gostei muito. Agora, estou usando o Emacs Starter Kit , que fornece melhores padrões e algumas personalizações legais para a instalação padrão do Emacs.
Eu o personalizei um pouco, adicionei algumas coisas, como yasnippet , temas de cores , ilimitadas e outras. Eu configurei um repositório do github onde mantenho todas as personalizações para poder acessá-las de vários locais ou caso algo dê errado e eu perco meu diretório .emacs.d.
Tudo isso é muito bom, mas há um problema: o Emacs leva cerca de 1-2 segundos para carregar. AFAIK Posso compilar arquivos .el individuais com Mx byte-compile-file para .elc e funciona. Mas existem muitos arquivos .el, e me pergunto se existe uma maneira de compilá-los todos com um simples comando ou algo assim, para acelerar o carregamento do Emacs. Meu Emacs nem sempre está aberto, e eu o abro e fecho com bastante frequência, especialmente depois de configurá-lo como um editor padrão para o comando de edição no Total Commander para me acostumar mais rapidamente (sim, o Windows XP aqui).
Minha versão do Emacs é 22.3. E sim, a instalação padrão do Emacs sem personalizações é acionada instantaneamente.
Não tenho certeza de qual versão é preferida ao carregar, o .el ou o .elc compilado, a propósito.
Portanto, existe um comando elisp ou uma opção de linha de comando do Emacs para fazer com que o Emacs compile tudo no diretório .emacs.d?
C-u 0
(akaC-0
, BTW). Isso compilará em bytes apenas os arquivos de origem mais recentes que as versões compiladas em bytes.FORCE
para recompilar arquivos que já possuem um ".elc" associado, mesmo que não sejam mais antigos que o arquivo de origem:M-: (byte-recompile-directory "/the/directory/" 0 t)
Para byte compilar automaticamente tudo o que precisa de compilação de bytes cada vez que inicio o emacs, coloquei o seguinte após minhas alterações
load-path
na parte superior do meu.emacs
arquivo:Surpreendentemente, isso não adiciona muito ao meu tempo de inicialização (a menos que algo precise ser compilado).
Para acelerar meu emacs, identifiquei primeiro as partes lentas usando profile-dotemacs.el e as substituí por carregamentos automáticos .
fonte
Você pode usar o
--batch
sinalizador para recompilar na linha de comando.Para recompilar tudo, faça
ou recompilar um único arquivo a partir de um Makefile,
fonte
emacs -Q --batch -f batch-byte-compile *.el foo/*.el
- ele não é repetido como o byte-recompile-directory .Isso está influenciando um pouco a questão, mas para resolver o problema de carregamento lento, você pode usar o novo recurso daemon no Emacs 23.
From http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html
fonte
Para o meu uso spacemacs, o comando é
spacemacs/recompile-elpa
. O comandobyte-recompile-directory
não compila nenhum arquivo.fonte