Pasamos la mayor parte del día mirando la terminal. ¿Por qué conformarse con texto blanco sobre un fondo negro aburrido y sin autocompletado inteligente? Aquí te muestro cómo transformar tu terminal en una herramienta productiva y hermosa usando ZSH y Oh My Zsh.
1. Instalar ZSH
El primer paso es cambiar el shell por defecto (Bash) a ZSH. ZSH ofrece mejoras masivas en el autocompletado y personalización.
sudo apt install zsh
# O en Arch: sudo pacman -S zsh
# Establecer ZSH como shell por defecto:
chsh -s $(which zsh)
Deberás cerrar sesión y volver a entrar para que los cambios surtan efecto.
2. Instalar Oh My Zsh
Oh My Zsh es un framework impulsado por la comunidad para gestionar tu configuración de ZSH. Trae miles de funciones útiles, helpers, plugins y temas.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
3. Elegir un Tema (Powerlevel10k)
Aunque Oh My Zsh viene con muchos temas (como el clásico agnoster), te recomiendo encarecidamente Powerlevel10k por su velocidad y estética.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Luego, abre tu archivo ~/.zshrc y cambia la variable de tema:
ZSH_THEME="powerlevel10k/powerlevel10k"
La próxima vez que abras la terminal, se iniciará un asistente de configuración visual interactivo.
4. Plugins Esenciales
No olvides habilitar plugins. En tu ~/.zshrc, busca la línea plugins=(git) y añade mis favoritos:
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
)
Nota: Deberás clonar los repositorios de autosuggestions y syntax-highlighting en tu carpeta de custom plugins de oh-my-zsh.
Bonus: Instalación de Entorno Pentesting (bspwm)
Si además de mejorar tu terminal quieres un entorno gráfico ultraligero y herramientas completas para Hacking / Ricing en Debian o Ubuntu, este es el script definitivo que utilizo para instalar bspwm, rofi, kitty y todas las dependencias necesarias de compilación y pentesting en un solo comando:
sudo apt update -y && sudo apt install -y \
xinput git curl wget zsh unzip build-essential cmake pkg-config meson \
kitty tmux neovim jq bat locate ranger xclip scrub acpi brightnessctl wmname \
bspwm sxhkd rofi picom feh scrot imagemagick \
libcairo2-dev libxcb1-dev libxcb-util0-dev libxcb-ewmh-dev \
libxcb-randr0-dev libxcb-composite0-dev python3-xcbgen xcb-proto \
libxcb-image0-dev libxcb-icccm4-dev libxcb-xkb-dev libxcb-xrm-dev \
libxcb-cursor-dev libasound2-dev libpulse-dev libjsoncpp-dev \
libmpdclient-dev libuv1-dev libnl-genl-3-dev \
openvpn aircrack-ng airgeddon hcxdumptool hcxtools \
php ruby python3-sphinx zsh-syntax-highlighting zsh-autosuggestions \
texlive-latex-recommended cmatrix nmcli golang hashcat seclists wordlists \
&& sudo updatedb
Este comando instalará utilidades de red, herramientas para ataques WiFi (aircrack-ng, airgeddon), diccionarios (seclists) y dependencias base para compilar tus propios polybars o utilidades en C/C++.
Conclusión
Una terminal bien configurada no solo es estéticamente agradable, sino que te ahorra miles de pulsaciones de teclas gracias al autocompletado del historial y te da contexto inmediato (como la rama de Git en la que te encuentras). ¡Pruébalo y nunca querrás volver a Bash estándar!