Mientras tú tienes una terminal que solamente contiene tu nombre de usuario, el de la máquina que usas y el directorio. Habrás notado que el de varios profesores de Platzi suele indicar mucho más que eso, por ejemplo:
- La rama actual de Git.
- Su último commit.
- Si hay algún cambio pendiente.
- La cantidad de memoria RAM que se está utilizando.
Todo esto no sucede por arte de magia. Lo primero que debes entender es que en Linux por defecto tu terminal viene con Bash (Bourne-again shell), y si bien es bastante práctico para el día a día, la forma en que lleves tu terminal a un nuevo nivel es con Z Shell o simplemente Zsh.
Zsh: un Bash con superpoderes
Zsh puede verse como un Bash con superpoderes ya que la característica de autocompletado y otras funcionalidades las mejora bastante.
Autocompletado
Dentro de las teclas que utilizas en tu terminal, una de ellas es TAB. Supongamos que te encuentras en Home y que contiene las carpetas de Documents y Downloads, pero tú quieres navegar a Downloads.
Mientras que en Bash escribes el comando cd Do
y al teclear TAB te va a mostrar un listado de las distintas opciones, en este caso Documents y Downloads, y hasta que escribas cd Dow
el TAB te va a completar cd Downloads
. En Zsh simplemente escribes Do
y tecleas TAB hasta llegar a la opción que quieres, sin necesidad de escribir cd
. Automáticamente Zsh te dirige a la carpeta que elijas.
Si eres un amante de la automatización y tienes varios scripts con Bash que temes perder por migrar a Zsh déjame darte la gran noticia de que Zsh fue pensado para ser compatible con Bash.
Instalando Zsh
En Linux, para instalar Zsh simplemente debemos correr el comando según sea tu distribución, en caso de no aparecer puedes encontrar más información en aquí:
sudo apt-get install zsh (para basadas en Ubuntu)
sudo pacman -S zsh (para Arch Linux)
sudo yum install zsh (para basadas en Red Hat)
sudo dnf install zsh (para Fedora)
Para verificar que fue instalado correctamente debes correr el comando:
zsh --version
Para indicarle a tu terminal que Zsh va a ser la shell por defecto debemos correr el comando chsh
indicando la dirección de Zsh:
chsh -s $(which zsh)
Cerramos y volvemos a abrir nuestra terminal para efectuar los cambios y listo, tenemos Zsh instalado, pero aún nos falta darle el verdadero sazón a Zsh.
Oh My Zsh
Gracias al framework Oh My Zsh va a ser muy sencillo configurar nuestra terminal para mejorarla 10x, es más, podemos llevarla hasta un nivel de poder de 9000.
Su instalación es muy rápida y sencilla, tan solo debes correr el siguiente comando:
// En caso de que tengas curl
curl -L http://install.ohmyz.sh | sh
// En caso de que tengas wget
wget --no-check-certificate http://install.ohmyz.sh -O - | sh
Una vez instalado tendremos un archivo oculto en nuestra carpeta de Home llamado .zshrc
que es donde sucede toda la magia de configuración. Para poder configurar nuestra terminal debemos modificar este archivo, puedes usar el editor de código que prefieras:
// Modificar con Vim
vim ~/.zshrc
// Modificar con Visual Studio Code
code ~/.zshrc
Te recomiendo añadir un alias a tu consola para acceder de manera rápida al archivo de configuración:
// Usando Vim
alias zshconfig="vim ~/.zshrc"
// Usando Visual Studio Code
alias zshconfig="code ~/.zshrc"
Una vez estamos dentro del archivo solamente debes buscar la línea donde se encuentra la variable ZSH_THEME
, por defecto va a tener el valor de “robbyrussell”. Existe una gran cantidad de temas, puedes ir buscando tu tema ideal en la documentación de Oh My Zsh, tienen un listado enorme.
También puedes añadir varios temas a la variable ZSH_THEME_RANDOM_CANDIDATES
y a la variable ZSH_THEME
darle el valor de “random” para que en cada ocasión que abras la terminal elija un tema diferente y vayas probando cual te acomoda mejor.
Por último, pero no menos importante, si migraste de Bash y tenías varias direcciones añadidas a la variable $PATH vas a tener que copiar el valor de la variable desde Bash y pegarlo en el archivo .zshrc
:
// Cambiamos el shell a Bash
exec bash
// Imprimimos el valor de nuestra variable PATH para copiarlo
echo $PATH
// Corremos nuestro alias para configurar el archivo .zshrc
zshconfig
Una vez tenemos el valor de $PATH y el archivo .zshrc
abierto, pegamos el valor de PATH en la línea que exporte PATH.

Ya con esto tienes lista tu terminal para poder experimentar e ir mejorando tu productividad con el tema que mejor te quede, en lo personal me gusta mucho el tema PowerLevel9k. Si quieres mejorar todas herramientas de desarrollo te invito a que mires el Curso de Prework: Buenas Prácticas y Entorno de Desarrollo.
Curso de Configuración de Entorno de Desarrollo en macOS