¡Configura tu terminal con OhMyZSH como los más capos!

Written by

in

,

¿Cansado del terminal por defecto en macOS? Personalizarlo no solo mejora la estética, sino que también incrementa tu productividad.

Z Shell (ZSH) es una poderosa shell de Unix basada en Bash (la shell predeterminada de macOS), pero con muchísimas mejoras.

En esta guía, configuraremos iTerm2 junto con ZSH y algunos complementos esenciales para lograr un terminal espectacular.

Temas que cubriremos:

  • Instalación de Homebrew

  • Instalación de iTerm2

  • Instalación de ZSH y Oh My ZSH

  • Configuración de temas, fuentes y plugins para un terminal potente

Paso 1: Instalar Homebrew

Homebrew es un gestor de paquetes para macOS que facilita la instalación de software.

Primero, instala las herramientas de línea de comandos de Xcode ejecutando:

xcode-select --install

Si ves un error, reinicia la configuración de Xcode con:

xcode-select -r

Luego instala Homebrew con:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Paso 2: Instalar iTerm2

iTerm2 es una alternativa moderna al Terminal de macOS, repleta de funcionalidades avanzadas.

Instálalo usando Homebrew:

brew install --cask iterm2

Paso 3: Instalar ZSH

macOS ya trae ZSH instalado en /bin/zsh, pero conviene actualizarlo con Brew:

brew install zsh

Paso 4: Instalar Oh My Zsh

Oh My Zsh es un marco de configuración de ZSH impulsado por la comunidad. Hace que la personalización de ZSH sea simple y poderosa.

Instálalo con:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Verifica la versión instalada:

zsh --version

Y, si deseas actualizar en el futuro:

upgrade_oh_my_zsh

¡Reinicia iTerm2 para comenzar a usar tu nueva configuración de ZSH!

Paso 5: Cambiar el tema por defecto

Oh My Zsh incluye muchos temas. El tema predeterminado es robbyrussell, pero puedes cambiarlo fácilmente.

Para editar tu configuración:

nano ~/.zshrc

O usa tu editor favorito:

cursor ~/.zshrc

Busca la línea que dice:

ZSH_THEME="robbyrussell"

y cámbiala, por ejemplo, a:

ZSH_THEME="agnoster"

Guarda los cambios y recarga la configuración:

source ~/.zshrc

Usar un tema personalizado (Ejemplo: Powerlevel9k)

Si deseas un tema no preinstalado:

git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

Luego actualiza tu .zshrc:

ZSH_THEME="powerlevel9k/powerlevel9k"

Y recarga:

source ~/.zshrc

Paso 6: Instalar fuentes para Powerline

Algunos temas (como Powerlevel9k) requieren fuentes especiales (Powerline Fonts).

Instálalas ejecutando:

git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh

Luego, en iTerm2 ve a: Preferences > Profiles > Text > Change Font
y selecciona una fuente como Inconsolata o FiraCode (esta última soporta ligaduras).

Paso 7: Instalar esquemas de colores

Personaliza aún más tu terminal instalando un esquema de colores:

  1. Descarga los esquemas desde iTerm2 Color Schemes.

  2. Extrae el ZIP.

  3. En iTerm2, ve a:
    Preferences > Profiles > Colors > Color Presets > Import

  4. Importa los archivos .itermcolors desde la carpeta descargada.

Paso 8: Instalar plugins para ZSH

Oh My Zsh viene con varios plugins (como git), pero puedes agregar más.

Por ejemplo, para agregar soporte a Docker:

git clone https://github.com/zsh-users/zsh-docker.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-docker

Luego edita ~/.zshrc y añade zsh-docker en la sección de plugins:

plugins=(git zsh-docker)

Recarga:

source ~/.zshrc

Paso 9: Agregar alias personalizados

Los alias son comandos abreviados. Puedes agregarlos en tu .zshrc.

Por ejemplo:

alias dckimgs="docker images"

Así, cada vez que escribas dckimgs verás el listado de imágenes de Docker.

¡Listo!

Ahora tienes un terminal hermoso, funcional y altamente productivo en macOS, listo para acompañarte en todos tus proyectos.

Si conoces otros trucos o configuraciones útiles para ZSH, ¡Contáctame!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *