ZSH tarda aproximadamente un segundo y medio desde la creación de una nueva ventana de terminal para estar listo. Estoy bastante seguro de que el culpable es compinit
.
No he podido encontrar buena documentación, compinit,
pero parece que debería estar almacenando en caché todas las cosas necesarias en algún archivo como .zcompdump
.
¿Algún truco para acelerarlo?
Si bien ZSH tiene su propia cuota de desaceleraciones, si encuentra la ventana de terminal en blanco por unos momentos antes de ver la
Last Login:
línea, tendrá que borrar sus archivos de registro para ver mejoras en la velocidad. Esto sigue siendo un problema a partir de OSX Lion y deberá hacerse cada varios meses. Cojo, lo sé.El comando es:
Por supuesto, usted necesita leer este artículo de antemano y por lo que saber exactamente lo que está pasando, porque la ejecución de todo lo que dice
sudo rm
necesita ser pensado. Solo puse esto aquí porque su uso de ZSH demuestra su competencia con la línea de comando para comenzar.fuente
-r
ya que no hay directorios involucrados y no es necesario. Omitirlo conduce a menos lágrimas si alguien escribesudo rm -rf / private/var/log/asl*.asl
(espacio antes que privado) por error.cd /private/var/log/asl
entoncesrm -f *.asl
. También para el registro, esta respuesta me salvó de un tiempo de inicio que se acercaba a los 10 segundos, ¡muchas gracias!trash /private/var/log/asl*.asl
.trash
necesitará ser instalado, por supuesto.brew install trash
Mi mayor mejora provino de la eliminación de elementos de la sección plugin = (). Los complementos 'github' y 'brew' son muy lentos de cargar.
También eliminé el concentrador al que me había alias
git
y que también aceleró el mensaje.He estado usando '/ usr / bin / time zsh -i -c exit' para registrar los tiempos de inicio, sin embargo
compinit
, no parece haber una diferencia lo suficientemente grande para mí.Sería genial escuchar lo que otros están haciendo para acelerarlo.
fuente
github
ybrew
resolvió mi problema de inmediato.git
y losbrew
complementos son bastante esenciales para mí. Al eliminar elruby
complemento resolvió mi problema. Gracias.¿Estás utilizando el preinstalado
/bin/zsh
u otro? Pregunto, porque el zsh que instalé a través de fink comienza terriblemente lento debido a su inclusión de plantillas zsh , mientras que el vainilla comienza de inmediato.¿Ejecutar con un archivo de volcado explícito (
compinit -d dumpfile
) hace que vaya más rápido? La página del manual dice quefuente
compinit
nunca se llama. Cuando llamo manualmentecompinit
, lleva un poco de tiempo. ¿Tal vez es solo porque Oh My Zsh agrega tantos enlaces para compinit?Ahora oh-my-zsh verifica la opción de configuración especial de git oh-my-zsh.hide-status antes de consultar el estado. Entonces corre
en repositorio problemático.
fuente
.zshrc
. Actualmente estoy enfrentando problemas con la lenta respuesta de Internet, lo que hizo que zsh fuera lentoZsh por sí solo se inicia en alrededor de 0.1 segundos para mí, lo cual es bastante bueno. Acabo de notar cuando me acerqué a la marca del historial de 50,000 comandos que me tomó más de 3 segundos cargar el primer mensaje.
No sé cómo ustedes están encontrando todas estas otras razones para un inicio lento, pero la mía fue exactamente lo que mi primera suposición fue. Hice
mv ~/.zsh_history zsh_history_backup
ay bam, el inicio de 3 segundos ahora es de inicio de 0.1 segundos. Curiosamente,/usr/bin/time /bin/zsh -i -c exit
no logra capturar el tiempo que se tarda en cargar en el historial.Sin embargo, si no tiene decenas de miles de comandos en su historial de zsh, entonces este no lo es. Mi
~/.zsh_history
mide 1.8MB. Es muy posible pegar accidentalmente una gran cantidad de cosas como un comando en un terminal, esto también hinchará la historia rápidamente (aunque esto es algo que debe evitarse, ya que obviamente puede ser extremadamente destructivo).fuente
Estaba usando el tema "af-magic"
Cambiar a "musa" resolvió el problema.
Edite ~ / .zshrc y modifique esa línea:
fuente
Tengo grandes mejoras de velocidad después de borrar el directorio ~ / .oh-my-zsh / plugins /. Había muchos complementos no utilizados en su interior.
fuente
Agregue lo siguiente a su ~ / .zshenv
fuente