Ultima actualización 16 / Abr / 2026
Introducción
Una terminal bien configurada es una de las inversiones más rentables que puedes hacer como desarrollador. Este es el setup que uso para mi trabajo en programación, ciencia de datos, machine learning e inteligencia artificial, tanto en macOS como en Ubuntu/Linux.
1. Terminal: Ghostty
Ghostty es un emulador de terminal rápido, con muchas funcionalidades y multiplataforma que utiliza la interfaz nativa de cada sistema operativo y aceleración por GPU. Fue creado por Mitchell Hashimoto, co-fundador de HashiCorp.
Lo que más me gusta de Ghostty es que combina rendimiento nativo con una experiencia moderna: arranque instantáneo, renderizado de texto y soporte nativo en macOS y Linux sin sacrificar ninguna funcionalidad.
Instalación en MAC:
brew install --cask ghostty
Instalación en Linux (Ubuntu):
sudo apt install ghostty
Si no está disponible en los repositorios de tu distribución, consulta la guía oficial de instalación.
2. Shell: Zsh + Oh My Zsh
Instalar Zsh
En macOS, Zsh ya viene instalado por defecto. En Ubuntu:
sudo apt update && sudo apt install zsh -y
chsh -s $(which zsh)
Cerrar sesión y volver a iniciarla para que el cambio de shell tenga efecto.
Instalar Oh My Zsh
Oh My Zsh es un framework para gestionar la configuración de Zsh que añade temas, plugins y autocompletado avanzado.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Plugins
Los plugins se activan agregándolos en la línea plugins=(...) del archivo ~/.zshrc.
git
El plugin git viene incluido con Oh My Zsh y agrega decenas de alias útiles para Git (por ejemplo, gst → git status, gco → git checkout, glog → git log --oneline --graph). Ayuda mucho para trabajar con git desde la terminal.
zsh-autosuggestions
Sugiere comandos mientras escribes, basándose en el historial. Cuando aparece la sugerencia en gris, presiona → para aceptarla.
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting
Colorea los comandos en tiempo real: verde si el comando existe, rojo si no existe. Evita errores de tipeo antes de ejecutar.
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
zsh-history-substring-search
Permite buscar en el historial escribiendo parte de un comando y usando las teclas ↑ / ↓ para navegar por los resultados que coinciden.
git clone https://github.com/zsh-users/zsh-history-substring-search \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
Activar todos los plugins en ~/.zshrc:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting zsh-history-substring-search)
Tema: Powerlevel10k
Powerlevel10k es el tema más completo y rápido para Zsh. Muestra información contextual en el prompt: rama de Git, estado del repositorio, versión de Python, tiempo de ejecución del último comando, nivel de batería y mucho más, todo de forma personalizable.
Instalación:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Activar en ~/.zshrc:
ZSH_THEME="powerlevel10k/powerlevel10k"
Al abrir un nuevo terminal se ejecuta el asistente de configuración interactivo. Para volver a ejecutarlo en cualquier momento:
p10k configure
3. Herramientas de Terminal
gh — GitHub CLI
gh lleva GitHub a la línea de comandos. Permite crear y revisar pull requests, gestionar issues, clonar repositorios y ejecutar workflows de GitHub Actions sin salir de la terminal.
Instalación en MAC
brew install gh
Instalación en Linux (Ubuntu)
sudo apt install gh
Autenticarse con GitHub:
gh auth login
lazygit — Git TUI
lazygit es una interfaz de usuario para Git en la terminal. Permite ver el estado del repositorio, hacer commits, gestionar ramas, resolver conflictos y explorar el historial de forma visual e intuitiva, sin necesidad de recordar todos los comandos de Git.
Instalación en MAC
brew install lazygit
Instalación en Linux (Ubuntu)
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v*([^"]+)".*/\1/')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit -D -t /usr/local/bin/
yazi — File Manager TUI
yazi es un gestor de archivos moderno para la terminal, escrito en Rust. Permite navegar por el sistema de archivos con preview instantáneo de imágenes, texto, PDF y más, con atajos de teclado intuitivos estilo Vim.
Instalación en MAC
brew install yazi
Instalación en Linux (Ubuntu)
sudo apt install yazi
eza — ls (Listar archivos y directorios)
El comando ls por defecto es funcional, pero eza es mejor en todos los aspectos. Es un reemplazo moderno con colores, iconos, integración con el estado de Git.
Instalación en MAC
brew install eza
Agregar al final de ~/.zshrc para reemplazar ls con eza:
if command -v eza &> /dev/null; then
alias ls='eza -lh --group-directories-first --icons=auto'
alias lsa='ls -a'
alias lt='eza --tree --level=2 --long --icons --git'
alias lta='lt -a'
fi
Instalación en Linux (Ubuntu)
sudo apt install eza
fzf — Fuzzy finder (Buscador)
fzf es un buscador en terminal de propósito general. Permite filtrar interactivamente cualquier lista: archivos, historial de comandos, procesos, ramas de Git, lo que sea.
Instalación en MAC
# MAC
brew install fzf
# Instalar integraciones con el shell (historial, ctrl+r, etc.)
$(brew --prefix)/opt/fzf/install
Instalación en Linux (Ubuntu)
sudo apt install fzf
Después de instalar, Ctrl+R en la terminal activa la búsqueda interactiva en el historial de comandos.
ncdu — Visualizador de uso de disco
ncdu (NCurses Disk Usage) proporciona una representación visual del uso del disco y permite navegar por los directorios para identificar qué ocupa más espacio, de forma rápida e interactiva desde la terminal.
Instalación en MAC
brew install ncdu
Instalación en Linux (Ubuntu)
sudo apt install ncdu
Ejecutar en el directorio que se quiera analizar:
ncdu
4. Mis Alias
Los alias se agregan al final del archivo ~/.zshrc. Después de editar el archivo, ejecutar source ~/.zshrc para aplicar los cambios.
Python y entornos virtuales
alias ve='source .venv/bin/activate'
alias deac='deactivate'
alias wp='which python'
alias pv='python -V'
Herramientas de terminal
alias vs='code .'
alias lg='lazygit'
alias cl='clear'
alias ccc='claude --model opusplan'
alias cop='claude --model opus'