Mini-manual de ZSH (Z Shell) en Ubuntu: potencia tu terminal con Oh My Zsh

¿Pasas mucho tiempo en la terminal y sientes que Bash se te queda corto? ¿Quieres mejorar tu productividad, personalizar tu prompt y disfrutar de un ecosistema de plugins que te haga la vida más fácil?

Entonces, ZSH (Z Shell) y el popular marco de configuración Oh My Zsh te van a encantar...

En esta guía te cuento qué es ZSH, cómo instalarlo paso a paso en Ubuntu, sus ventajas frente a Bash, y algunos trucos para sacarle todo el jugo desde el primer día.

ohmyz image
Fuente: https://ohmyz.sh/



1. ¿Qué es ZSH y por qué deberías probarlo?

Aspecto Detalle
Definición ZSH es un intérprete de órdenes POSIX compatible (como Bash) que mezcla lo mejor de Bash, ksh y tcsh, y añade multitud de mejoras y funcionalidades.
Objetivo Ofrecer una experiencia de terminal mucho más productiva: alias inteligentes, globbing avanzado, completado contextual, corrección de errores tipográficos, sistema de plugins, prompts personalizables...
¿Cuándo interesa? - Si trabajas mucho en terminal y quieres ahorrar tiempo.
- Si necesitas scripting POSIX pero con “extras”.
- Si quieres un prompt informativo (ramas de git, batería, tiempo de ejecución...).
- Si buscas un ecosistema de plugins y temas mantenido por la comunidad (Oh My Zsh, zinit, antidote…).

2. Instalación rápida de ZSH en Ubuntu (22.04 LTS o superior)

Instala ZSH:

sudo apt update
sudo apt install zsh

Instala Oh My Zsh (opcional, pero muy recomendado):

# Con cURL:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# O bien con wget:
sh -c "$(wget -qO- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Durante la instalación, te preguntará si quieres que ZSH sea tu shell por defecto. ¡Recomiendo decir que sí!


3. Primeros pasos con ZSH y Oh My Zsh

Acción Comando o archivo Comentario
Ver versión zsh --version Comprueba la versión instalada
Arrancar ZSH zsh Útil si tu shell por defecto sigue siendo bash
Configuración ~/.zshrc Aquí defines alias, plugins, variables, temas...
Actualizar OMZ omz update (o upgrade_oh_my_zsh) Solo si usas Oh My Zsh
Cambiar tema Edita ZSH_THEME="agnoster" en ~/.zshrc
Luego ejecuta:
source ~/.zshrc
Hay más de 150 temas disponibles
Activar plugins Añade por ejemplo:
plugins=(git kubectl sudo history-substring-search)
y recarga el archivo
Los plugins amplían funcionalidades

4. Consejos prácticos para sacar más partido a ZSH

  • Historial compartido entre terminales
    Añade a tu ~/.zshrc:
    setopt inc_append_history share_history
  • Autocorrección de comandos (si te equivocas escribiendo):
    setopt correct
  • Sugerencias al estilo “fish” (zsh-autosuggestions):
    # Con Oh My Zsh:
    git clone https://github.com/zsh-users/zsh-autosuggestions \
        ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
    # Luego añade zsh-autosuggestions a tu lista de plugins:
    plugins=(... zsh-autosuggestions)
    
  • Búsqueda rápida en el historial con ↑/↓ + texto:
    Activa el plugin history-substring-search y añade:
    bindkey '^[[A' history-substring-search-up
    bindkey '^[[B' history-substring-search-down
  • Globbing avanzado:
    ls **/*.py        # Busca todos los archivos .py recursivamente
    rm **/*(.D)       # Borra todos los archivos ocultos (.) normales (regulares)
    

5. Comandos y atajos útiles en ZSH

Comando o tecla ¿Qué hace?
Ctrl+R Búsqueda incremental en el historial (mejorada frente a Bash)
Alt+. Inserta el último argumento del comando anterior
!! / !$ Repite el último comando / último argumento
dirstack Usa dirs, pushd, popd y con setopt autopushd el stack se llena solo
where ls Muestra todas las ubicaciones del ejecutable ls en el PATH
set -o vi o bindkey -v Modo edición tipo vi en la terminal
repeat 10 echo hola Repite el comando 10 veces (solo en ZSH)

6. ZSH y Bash en paralelo: cómo alternar y no liarla

Necesidad Solución Nota
Cambiar shell por defecto a ZSH chsh -s $(which zsh) (te pedirá contraseña, cierra y abre sesión)
Volver a Bash temporalmente Escribe bash desde ZSH y tendrás un prompt Bash hasta que salgas con exit No cambia la configuración permanente
Volver a Bash como predeterminado chsh -s /bin/bash También te pedirá la contraseña
Terminales separadas Crea otro perfil en GNOME Terminal: pestaña “Comando” → /bin/bash o /usr/bin/zsh Íconos y accesos directos distintos
Scripting Pon un shebang explícito:
#!/usr/bin/env bash o #!/usr/bin/env zsh
Así cada script usa la shell que declares

7. Cómo desinstalar Oh My Zsh (opcional)

Si en algún momento quieres desinstalar Oh My Zsh, puedes hacerlo fácil:

uninstall_oh_my_zsh

O manualmente:

rm -rf ~/.oh-my-zsh
rm ~/.zshrc ~/.zprofile
chsh -s /bin/bash   # (si quieres volver a bash)

Recursos recomendados

  • Documentación oficial:
    man zsh (índice general)
    man zshoptions, man zshall (opciones y manuales completos)
  • Proyecto Oh My Zsh: https://ohmyz.sh
  • Libros y artículos:
    • From Bash to Z Shell (O’Reilly)
    • Mastering Zsh (ebook libre)

A mí me ha venido genial, espero que a ti también

Con esta guía tienes lo esencial para instalar, personalizar y empezar a exprimir ZSH y Oh My Zsh.
Échale paciencia y aprende a sacarle todo el jugo
¿Tienes algún truco o plugin favorito? Si es así, te leo en comentarios

¿Te ha gustado el mini-manual?
 Si te ha gustado házmelo saber para seguir creando este tipo de formato. Igualmente si quieres aportar algo o solicitar que se añada algo interesante, déjamelo en comentarios