Mi Configuración de Terminal (MAC & Linux)

Ultima actualización 16 / Abr / 2026

Este post es un documento vivo: refleja mi configuración actual de terminal en MAC y Linux, y se actualiza con el tiempo a medida que cambio herramientas o flujos de trabajo.

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, gstgit status, gcogit checkout, gloggit 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

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'

Referencias

Siguiente