O ZSH leva cerca de um segundo e meio entre a criação de uma nova janela do terminal e a preparação. Tenho certeza de que o culpado é compinit
.
Não consegui encontrar boa documentação, compinit,
mas parece que ele deveria estar armazenando em cache todas as coisas necessárias em algum arquivo como .zcompdump
.
Algum truque para acelerar?
Embora o ZSH tenha seu próprio quinhão de lentidões, se você encontrar a janela do terminal em branco por alguns instantes antes de ver a
Last Login:
linha, precisará limpar seus arquivos de log para ver melhorias na velocidade. Esse ainda é um problema no OSX Lion e precisará ser feito a cada vários meses. Coxo, eu sei.O comando é:
Obviamente, você precisa ler este artigo com antecedência e saber exatamente o que está acontecendo, porque a execução de tudo o que diz
sudo rm
precisa ser pensada. Só coloquei isso aqui porque o uso do ZSH prova sua competência com a linha de comando para iniciar.fonte
-r
já que nenhum diretório está envolvido e não é necessário. Omitir leva a menos lágrimas se alguém digitarsudo rm -rf / private/var/log/asl*.asl
(espaço antes do privado) por engano.cd /private/var/log/asl
entãorm -f *.asl
. Também para o registro, essa resposta me salvou de um tempo de inicialização que se aproximava de 10 segundos, muito obrigado!trash /private/var/log/asl*.asl
.trash
precisará ser instalado, é claro.brew install trash
Minha maior melhoria veio da remoção de itens da seção plugin = (). Os plugins 'github' e 'brew' são muito lentos para carregar.
Também removi o hub ao qual eu havia aliasado
git
e que acelerou o prompt também.Eu tenho usado '/ usr / bin / time zsh -i -c exit' para registrar os horários de inicialização, no entanto
compinit
, não parece fazer uma diferença suficientemente grande para mim.Seria ótimo ouvir o que os outros estão fazendo para acelerar isso.
fonte
github
ebrew
resolveu meu problema imediatamente.git
ebrew
plugins são essenciais para mim. Ao remover oruby
plugin resolveu meu problema. Obrigado.Você está usando o pré-instalado
/bin/zsh
ou outro? Eu pergunto, porque o zsh que instalei através do fink começa muito devagar devido à inclusão de modelos zsh , enquanto a baunilha é iniciada.A execução com um dumpfile explícito (
compinit -d dumpfile
) torna mais rápido? A página do manual afirma quefonte
compinit
nunca é chamado. Quando ligo manualmentecompinit
, demora um pouco. Talvez seja apenas porque Oh My Zsh adiciona tantas ligações ao compinit?Agora, oh-my-zsh verifica a opção de configuração especial do git oh-my-zsh.hide-status antes de consultar o status. Então corra
no repositório problemático.
fonte
.zshrc
. Atualmente, estou enfrentando problemas com resposta lenta à Internet, o que fez zsh lentoO Zsh por si só inicia em cerca de 0,1 segundo para mim, o que é bastante bom. Acabei de perceber quando cheguei perto da marca do histórico de 50.000 comandos que se tornou mais de 3 segundos para carregar o primeiro prompt.
Não sei como vocês estão encontrando todos esses outros motivos para uma inicialização lenta, mas o meu foi exatamente o que foi meu primeiro palpite. Eu fiz um
mv ~/.zsh_history zsh_history_backup
e bam, inicialização de 3 segundos agora é inicialização de 0,1 segundo. Curiosamente,/usr/bin/time /bin/zsh -i -c exit
falha em capturar o tempo necessário para carregar na história.Se você não possui dezenas de milhares de comandos no seu histórico do zsh, então não é isso. Meu
~/.zsh_history
medido 1.8MB. É muito possível colar acidentalmente uma grande quantidade de coisas como um comando em um terminal, isso também irá inchar a história rapidamente (embora isso seja algo muito a ser evitado, pois obviamente pode ser extremamente destrutivo).fonte
Eu estava usando o tema "af-magic"
Mudar para "musa" resolveu o problema.
Edite ~ / .zshrc e modifique essa linha:
fonte
Eu tenho ótimas melhorias de velocidade depois de limpar o diretório ~ / .oh-my-zsh / plugins /. Havia muitos plugins não utilizados dentro dele.
fonte
Adicione o seguinte ao seu ~ / .zshenv
fonte