Cómo personalizar Zsh para que sea súper cómodo con Oh My Zsh [Temas y Autocompletado]
En el artículo anterior, dominamos la instalación y la configuración básica de Zsh. Aunque Zsh en su estado estándar ya cuenta con funciones prácticas que superan a Bash, su verdadero potencial aún está latente. La herramienta mágica que sacará el 120% del poder de Zsh y elevará tu experiencia en la línea de comandos de "cómoda" a "súper cómoda" es Oh My Zsh.
"Oh My Zsh" es un framework adorado por desarrolladores de todo el mundo que facilita drásticamente la gestión de la apariencia (temas) y la funcionalidad (plugins) de Zsh. Puedes instalar extensiones útiles creadas por voluntarios en cuestión de minutos, sin tener que escribir complejas configuraciones línea por línea.
En este artículo, explicaremos paso a paso desde el método de instalación de Oh My Zsh, hasta cómo aplicar "temas" para hacer tu terminal drásticamente más atractivo, y cómo instalar "plugins" para potenciar tu eficiencia de trabajo mejorando el autocompletado y otras funciones. ¡Vamos, es hora de crear tu propio terminal definitivo!
1. Instalación de Oh My Zsh
La instalación de Oh My Zsh es sorprendentemente fácil. Solo tienes que abrir la terminal, copiar y pegar la siguiente línea de comando y ejecutarla. Sin embargo, como Oh My Zsh utiliza git para gestionar sus propias actualizaciones y plugins, es necesario tener Git instalado previamente.
Generalmente se recomienda el siguiente comando que usa curl.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Al ejecutar el comando, se iniciará el instalador y se realizarán varios procesos automáticamente. Una vez completado, la apariencia de tu terminal debería haber cambiado un poco. Esto se debe a que Oh My Zsh ha creado un nuevo archivo de configuración para ti, ~/.zshrc (tu archivo existente se guarda como copia de seguridad), y ha aplicado el tema predeterminado.
2. Cambiar el tema para personalizar la apariencia
Uno de los mayores placeres de Oh My Zsh es su abundante colección de "temas". Al cambiar el tema, puedes transformar por completo la apariencia del prompt (la línea donde introduces los comandos).
La configuración se realiza editando el archivo ~/.zshrc en tu directorio de inicio. Abre el archivo y busca la variable llamada ZSH_THEME.
# Contenido del archivo .zshrc (extracto)
ZSH_THEME="robbyrussell"
Por defecto, el tema establecido es robbyrussell. Vamos a cambiarlo por un tema muy popular entre los desarrolladores, llamado agnoster.
# Edita esta línea en tu archivo .zshrc
ZSH_THEME="agnoster"
Después de guardar el archivo, ejecuta el siguiente comando o reinicia la terminal para que los cambios surtan efecto.
source ~/.zshrc
【IMPORTANTE】: Algunos temas, como agnoster, requieren fuentes especiales (fuentes Powerline o Nerd Fonts) para mostrar símbolos como los de las ramas de Git. Si los caracteres se ven corruptos, necesitarás instalar y especificar una de estas fuentes (ej: `MesloLGS NF`) en la configuración de tu terminal.
3. Ampliar la funcionalidad de Zsh con plugins
Si los temas son para personalizar la apariencia, los plugins son para personalizar la funcionalidad. Pueden mejorar el autocompletado de entrada, añadir atajos prácticos y mucho más. La activación de plugins también se realiza en el archivo .zshrc.
Busca la línea que dice plugins=(...) en el archivo. Por defecto, el plugin de git está activado.
# Contenido del archivo .zshrc (extracto)
plugins=(git)
Dentro de estos paréntesis, iremos añadiendo los nombres de los plugins que queramos usar, separados por espacios.
Plugin recomendado 1: zsh-autosuggestions
Este es un plugin que te sugiere el siguiente comando que podrías escribir en un color gris claro, basándose en tu historial de comandos. Si la sugerencia es la que quieres, solo tienes que pulsar la tecla → (flecha derecha) para confirmar la entrada, reduciendo enormemente el esfuerzo de teclear. Podría decirse que es un plugin indispensable.
Como este no viene incluido por defecto, primero instálalo en el directorio de plugins personalizados de Oh My Zsh con el siguiente comando.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
A continuación, añade zsh-autosuggestions a la línea de plugins en tu .zshrc.
# Edita el archivo .zshrc
plugins=(git zsh-autosuggestions)
Plugin recomendado 2: zsh-syntax-highlighting
Mientras escribes un comando, este te lo mostrará en verde si el comando es correcto (existe en el sistema) y en rojo si es incorrecto. Como te permite darte cuenta de los errores antes de ejecutar, puede reducir drásticamente los errores por erratas.
De manera similar, instálalo primero.
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Y luego añádelo a la línea de plugins en tu archivo .zshrc.
# Edita el archivo .zshrc
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
Una vez guardado el archivo, ejecuta source ~/.zshrc o reinicia la terminal, ¡y podrás empezar a usar estas potentes funciones!
Resumen
¡Buen trabajo! En esta ocasión, hemos explicado cómo instalar el framework "Oh My Zsh" para transformar Zsh en el shell definitivo, y hemos dado el primer paso en la personalización con sus funciones principales: temas y plugins.
- Con Oh My Zsh, la compleja configuración de Zsh se vuelve sorprendentemente fácil.
- Simplemente cambiando el
ZSH_THEMEen tu archivo.zshrc, puedes cambiar libremente la apariencia de tu terminal. - Añadiendo nombres de plugins a
plugins=(...), puedes habilitar potentes extensiones de funcionalidad como el autocompletado de entrada y el resaltado de sintaxis.
Lo que hemos presentado aquí es solo una pequeña parte de los muchos temas y plugins disponibles. El repositorio de GitHub de Oh My Zsh es un tesoro de extensiones útiles que quizás no conozcas. ¡Te animamos a que explores y cultives tu propio entorno de terminal "súper cómodo"!
Ahora que tu entorno Zsh está listo y has descubierto el placer de la personalización, es posible que te hayas interesado en aprender más a fondo sobre los propios comandos y funciones útiles de Zsh. En el próximo artículo, nos centraremos en explicar los comandos y usos prácticos que Zsh ya tiene de por sí.
Aprende los comandos básicos y las funciones útiles de Zsh (autocompletado, historial, globbing)