¿Qué es ZSH y por qué debería usarlo en lugar de Bash?

ZSH , también llamado Z shell, es una versión extendida de Bourne Shell (sh), con muchas características nuevas y soporte para complementos y temas. Dado que se basa en el mismo shell que Bash, ZSH tiene muchas de las mismas características, y cambiar es muy sencillo.

Entonces, ¿por qué usarlo?

ZSH tiene demasiadas funciones para enumerarlas aquí, algunas mejoras menores en Bash, pero estas son algunas de las principales:

  • CD automático: simplemente escriba el nombre del directorio
  • Expansión de ruta recursiva: por ejemplo, «/ u / lo / b» se expande a «/ usr / local / bin»
  • Corrección ortográfica y finalización aproximada: si comete un pequeño error al escribir un nombre de directorio, ZSH lo solucionará por usted.
  • Compatibilidad con complementos y temas: ZSH incluye muchos marcos de complementos diferentes

La compatibilidad con complementos y temas es probablemente la característica más interesante de ZSH y es en lo que nos centraremos aquí.

Instalación de ZSH

Si está en macOS y tiene Homebrew instalado (que debería), puede instalar ZSH con un solo comando:

brew instalar zsh

También para los usuarios de macOS, probablemente debería usar iTerm en lugar de la terminal nativa, ya que tiene una compatibilidad de color mucho mejor (además de muchas otras características).

Si está en Linux, los comandos pueden variar según la distribución, pero debería ser un paquete predeterminado en su administrador de paquetes. Puede consultar esta guía si tiene problemas.

Si está en Windows, es posible que ni siquiera tenga Bash en primer lugar. Puede seguir esta guía para configurarlo y habilitar ZSH.

Instalación de Oh-My-Zsh

Oh-My-Zsh es el marco de complementos más popular para ZSH, y también viene con muchos complementos y temas integrados. También hay un par de otros marcos de complementos, incluido Antigen , que es un administrador de paquetes completo para ZSH, pero Oh-My-Zsh tiene muchos complementos integrados y hace bien su trabajo.

Oh-My-Zsh tiene un script de instalación simple que puede ejecutar:

sh -c "$ (curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Desde allí, puede habilitar y deshabilitar complementos agregándolos a su archivo .zshrc, ubicado en su directorio ~.

Puede obtener una lista completa de complementos en el repositorio Oh-My-Zsh .

Temas

Hay muchos temas para todos, pero powerlevel9k es, con mucho, el mejor. Agrega un cuadro de información alineado a la derecha, integración con git y el historial de comandos, personalización increíble y lo envuelve todo en una interfaz elegante basada en el complemento powerline para vim.

Querrá usar iTerm en macOS, o cualquier terminal con color de 24 bits, para aprovechar al máximo powerlevel9k (o cualquier tema de ZSH, en realidad).

Para configurar powerlevel9k (si instaló Oh-My-Zsh) simplemente clone el repositorio en la carpeta de temas personalizados .oh-my-zsh:

git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

Entonces necesitas habilitarlo en .zshrc:

ZSH_THEME="powerlevel9k/powerlevel9k"

Después de eso, obtenga su .zshrc, y debería ver los cambios aplicados.

Si lo desea, puede personalizar el indicador predeterminado definiendo POWERLEVEL9K_LEFT_PROMPT_ELEMENTS en su .zshrc. Aquí está el mío, con un aviso mínimo:

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS = (vcs dir rbenv)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS = (carga de estado de root_indicator background_jobs)

Puede encontrar la documentación completa para powerlevel9k en el repositorio.