Oh My Zsh es una herramienta de configuración para Zsh que mejora tu
experiencia en la terminal con funciones como autocompletado
inteligente, alias útiles, integración con Git, y un entorno visual
atractivo. Continúa leyendo o, si prefieres, haz
CLICK AQUÍ
para ver un tutorial paso a paso en YouTube
Artículo recomendado: Vim, el Editor de Texto: Comandos Básicos.
Contenido:
- 1. Instalación de Zsh y herramientas necesarias
- 2. Instalación de Oh My Zsh
- 3. Cambiar el tema del prompt
- 4. Activar y configurar plugins
- 4.1. Qué hacen y cómo usar los plugins instalados
- 5. Crear alias personalizados
- 6. Actualizar Oh My Zsh
- 7. Consejos útiles
- 8. ¿Comandos o configuraciones que dejaron de funcionar?
- 8.1. Casos comunes
-
8.2. Ejemplo práctico: Error
zsh: command not found: node
, a pesar de ya tenerlo instalado.
1. Instalación de Zsh y herramientas necesarias
- Debian, Ubuntu y derivados:
- Arch Linux y derivados:
- Fedora, RHEL y derivados:
- Verifica que Zsh esté instalado con:
Ejecuta el siguiente comando según tu distribución para instalar ‘Git’, ‘curl’ y ‘Zsh’:
sudo apt update && sudo apt install git curl zsh -y
sudo pacman -Syu git curl zsh
sudo dnf install git curl zsh

zsh --version

2. Instalación de Oh My Zsh
- Ejecuta el script oficial para instalar Oh My Zsh:
- Verifica que Oh My Zsh está instalado correctamente con:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Este script instalará Oh My Zsh y configurará Zsh como tu shell predeterminado. Si no lo hace, configúralo manualmente con:
chsh -s $(which zsh)
echo $ZSH

3. Cambiar el tema del prompt
-
Abre el archivo de configuración usando
vim
Vim, el Editor de Texto: Comandos Básicos. También puedes usarnano
o un editor gráfico comovscode
: -
Busca y reemplaza la línea
ZSH_THEME="robbyrussell"
con el tema que desees, por ejemplo: - Guarda con ‘:wq’ y aplica los cambios con:
- Puedes listar todos los temas disponibles con:
Los temas en Oh My Zsh definen la apariencia del prompt en la terminal. Cambiar el tema puede ayudarte a personalizar el estilo visual, mostrar más o menos información, o simplemente hacer tu entorno más cómodo o funcional para tu flujo de trabajo.
El tema por defecto es
ZSH_THEME="robbyrussell"
. Puedes
cambiarlo por otro, Asi:
vim ~/.zshrc

ZSH_THEME="ys"
ZSH_THEME=’robbyrussell’

ZSH_THEME=’ys’

source ~/.zshrc

ls $ZSH/themes

4. Activar y configurar plugins
- Abre el archivo de configuración:
-
Busca y reemplaza la línea de plugins
plugins=(git)
con : - Instala los plugins externos si aún no los tienes:
- Recarga la configuración:
Los plugins en Oh My Zsh amplían las funcionalidades del shell, agregando comandos, autocompletado, mejoras visuales y herramientas útiles para el trabajo diario. Activarlos permite optimizar tareas comunes y personalizar aún más tu entorno de terminal.
vim ~/.zshrc

plugins=(git z autojump zsh-autosuggestions zsh-syntax-highlighting)
plugins=(git)

plugins=(git z autojump etc…)

git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
sudo apt install autojump

source ~/.zshrc
4.1. Qué hacen y cómo usar los plugins instalados
-
gst
: ejecutagit status
-
gco
: ejecutagit checkout
-
gca
: combinagit add
ygit commit
en un solo paso -
gcm
: realiza un commit con mensaje directamente -
glog
: muestra el historial con una vista compacta y visual del árbol de commits -
gpl
: ejecutagit pull
-
gps
: ejecutagit push
-
gaa
: ejecutagit add --all
-
Primero navega a un directorio de forma habitual para que
z
lo registre: - Luego puedes acceder directamente escribiendo parte del nombre:
-
Si quieres eliminar el historial de rutas aprendidas por
z
, borra su archivo de datos: - También puedes editar el archivo manualmente si deseas conservar algunas rutas y eliminar otras:
- Este comando solo muestra la ruta almacenada por autojump, pero no cambia de directorio:
-
Usa el alias
j
para ir directamente al directorio más usado que coincida: -
Ejemplo: si antes ejecutaste
git push origin main
, al escribir: -
Verás
sh origin main
en gris como sugerencia, y puedes aceptarla con la tecla → (flecha derecha). - Ejemplo: si escribes mal el comando se mostrará en rojo:
‘git’: incluye atajos que ahorran tiempo al trabajar con Git. En lugar de escribir comandos largos, puedes usar alias como:
Ejemplo de uso:
gst
gco -b nueva-rama
gaa

‘z’: recuerda automáticamente los directorios que visitas con más frecuencia y te permite acceder a ellos escribiendo solo una parte del nombre. Cuanto más lo uses, más rápido y preciso será.
cd ~/Documentos/proyecto-cliente
z cliente

rm ~/.z

vim ~/.z
‘autojump’: hace algo similar a z, basado en historial de uso. Requiere reiniciar la terminal la primera vez.
autojump cliente
j completed

‘zsh-autosuggestions’: muestra sugerencias de comandos anteriores mientras escribes, basadas en tu historial. Las sugerencias aparecen en color gris al final de la línea.
git pu

‘zsh-syntax-highlighting’: colorea los comandos en tiempo real mientras los escribes, ayudando a detectar errores de sintaxis o rutas inexistentes antes de ejecutarlos.
c

5. Crear alias personalizados
- Abre el archivo de configuración:
- Agrega alias útiles al final del archivo:
-
alias update='sudo apt update && sudo apt upgrade -y'
: actualiza el sistema. -
alias cls='clear'
: limpia la pantalla de la terminal. -
alias ll='ls -lah'
: lista archivos con detalles y ocultos en formato legible. -
alias ..='cd ..'
: sube un nivel en el árbol de directorios. -
alias ...='cd ../..'
: sube dos niveles. -
alias grep='grep --color=auto'
: resalta coincidencias en los resultados de búsqueda. - Guarda y aplica los cambios:
Los alias personalizados te permiten crear atajos para comandos largos o repetitivos, haciendo que tu experiencia en la terminal sea más rápida, eficiente y cómoda. Son ideales para automatizar tareas comunes con una sola palabra o combinación corta.
vim ~/.zshrc


source ~/.zshrc

6. Actualizar Oh My Zsh
- Usa el siguiente comando para actualizar Oh My Zsh:
- Si no tienes 'omz', usa el comando clásico:
- También puedes actualizar manualmente:
omz update
upgrade_oh_my_zsh

cd ~/.oh-my-zsh
git pull

7. Consejos útiles
- Usa 'TAB' para autocompletar comandos y rutas.
- Usa la flecha '↑' para repetir comandos anteriores.
-
Usa
z
oautojump
para navegar rápidamente. - Explora nuevos temas con:
-
Edita el archivo
.zshrc
para probarlos conZSH_THEME='nombre'
.
ls $ZSH/themes
8. ¿Comandos o configuraciones que dejaron de funcionar?
Al cambiar de bash
a
zsh
, es común que algunas cosas que
antes funcionaban ya no lo hagan. Esto puede afectar comandos, alias,
variables de entorno y otras configuraciones importantes del sistema.
8.1. Casos comunes
-
Comandos: herramientas como
node
,python
,java
odocker
pueden dejar de funcionar si no están correctamente configuradas en el entorno o elPATH
. -
Alias: comandos como
ll
,gs
oserve
pueden desaparecer si estaban definidos como alias en Bash. -
Variables de entorno: definiciones como
JAVA_HOME
,ANDROID_HOME
o rutas personalizadas enPATH
pueden perderse. -
Entornos virtuales: herramientas como
conda
,pyenv
opoetry
requieren bloques de inicialización específicos. -
Prompt personalizado: en lugar de
PS1
en Bash, Zsh usaZSH_THEME
con los temas de Oh My Zsh.
Solución general: abre Bash, verifica qué funcionaba,
revisa tu archivo .bashrc
con
vim
, y copia lo necesario a tu
.zshrc
.
⚠️ Advertencia: Antes de copiar cualquier bloque,
revisa si ya existe en .zshrc
para
evitar duplicaciones, conflictos o comportamientos inesperados.
8.2. Ejemplo práctico: Error
zsh: command not found: node
, a pesar
de ya tenerlo instalado.
Si funcionaba anteriormente, esto se debe a que
nvm
(Node Version Manager) no está
inicializado en tu archivo .zshrc
.

- Para comprobar si antes funcionaba, puedes abrir temporalmente una terminal con Bash ejecutando:
- Luego, dentro de Bash, prueba si el comando funciona:
-
Si funciona en Bash pero no en Zsh, revisa tu archivo
~/.bashrc
con: -
Busca la configuración relacionada, como este bloque de
nvm
: -
Y cópialo tal cual al final de tu archivo
~/.zshrc
con: -
⚠️ Advertencia: Antes de pegarlo, asegúrate de que
ese bloque no esté ya presente en
.zshrc
para evitar duplicación o errores. - Guarda los cambios y aplícalos con:
bash
node -v
vim ~/.bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
vim ~/.zshrc
.bashrc

.zshrc

source ~/.zshrc
Ahora deberías poder usar node
con
normalidad también en Zsh.
