Original article: Jazz Up Your “ZSH” Terminal In Seven Steps — A Visual Guide

En este blog cubriré cómo instalar iTerm2, el shell ZSH, "oh my ZSH", Temas, esquemas de color de iTerm2, plugins de "oh my ZSH" y permitir soporte de "ligadura" para ayudar a crear una Terminal hermosa y poderosa.

Resumen:

Estaremos cubriendo un montón de cosas. Podría ser confuso, así que aquí está el resumen de lo que estaremos haciendo:

  1. Instalar iTerm2 — Este es una mejor alternativa a la terminal por defecto
  2. Instalar el último shell de ZSH — Este es más poderoso que el shell de bash regular. Cambiaremos de iTerm2 a usar el shell de ZSH.
  3. Instalar “Oh My ZSH “— Este es una herramienta CLI para configurar fácilmente el ZSH y agregar temas y plugins a ZSH
  4. Agregar dos tipos de Temas usando “Oh My ZSH” — algunos temas necesitan pasos extras así que cubriremos ambos
  5. Instalar diferentes esquemas de iTerm2 — Estos son solo esquemas de colores para la UI
  6. Agregar dos Plugins distintos usando “Oh My ZSH” para mejorar la productividad
  7. Permitir el soporte de “ligadura” así cuando escribas una flecha => aparezca como una flecha real →
1*k3akUSSgJsBjjzMkAAN9tQ

Paso 1— Instalar iTerm2

A muchos programadores les gusta iTerm2 en vez de la terminal regular. Es similar a la Terminal, pero tienes muchas características propias. Por supuesto, puede ejecutar ZSH, Bash y otros shells por dentro.

Para este blog usaremos iTerm2. Cuando mencione "Terminal", me refiero a iTerm2. Aunque los pasos son los mismos tanto como para la Terminal como para iTerm2.

Paso 2— Cambial el Shell a ZSH

Opción 1 — Usa el ZSH propio de Mac:

Mac viene ya integrado con un ZSH, así que no necesitamos instalarlo. Sin embargo, a veces es una versión antigua de ZSH. Típicamente, está localizado en /bin/zsh. Para usarlo, todo lo que necesitamos es cambiar el shell (chsh).

  1. Abre la Terminal (o iTerm2) y escribe el siguiente comando
$ chsh -s $(which zsh)

2. Ingresa la contraseña y cambiará el shell, al cerrar sesión e iniciar sesión.

3. Cerrar sesión e iniciar sesión de vuelta

4. Para probar, abre la Terminal y escribe lo siguiente, y debería decir zsh.

$ echo $0
zsh //debería devolver zsh

Opción 2— Instalar Homebrew e Instalar el último ZSH con Homebrew

Esta opción es muy común entre los usuarios, porque algunos de los plugins solamente funcionan con la última versión de ZSH.

Homebrew, simplemente dicho, es un instalador de línea de comandos para todo tipo de software. Vamos a instalar eso primero.

  1. Instalar Homebrew ejecutando el siguiente comando.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. Si obtienes un error de Command Line Tools for Xcode, significa que no has instalado las herramientas de CLI para Xcode. Si no obtienes el error, puedes saltar este paso, porque ya lo tienes instalado.

Las herramientas de CLI de Desarrollo XCode son usados por muchas apps que manipulan las características de OSX principales. Así que asegúrate de instalar las herramientas de CLI XCode ejecutando el siguiente comando:

$ xcode-select —-install

Nota: El comando de arriba abre el instalador de Mac e instala las herramientas de CLI de Desarrollo de XCode. Si no funciona, intenta xcode-select -r para resetear.

3. Instalar ZSH con Homebrew

Ejecuta el siguiente comando para instalar ZSH. Se instala en /usr/local/bin/zsh Postdata: El ZSH por defecto de Mac está en /bin/zsh

brew install zsh

4. Usa la versión de Homebrew de ZSH

Ejecuta el siguiente comando. Se te aparecerá un mensaje para ingresar la contraseña de Mac.

chsh -s /usr/local/bin/zsh

5. Cerrar sesión e iniciar sesión de vuelta

6. Probar si estamos usando ZSH y el ZSH correcto

$ echo $0
zsh   //correcto

$ which zsh
/usr/local/bin/zsh   //correcto

Paso 3— “Oh My ZSH”

1*Sk54-oKGwIS_3BRk1S4N7A

"Oh My ZSH" es un plugin que corre sobre ZSH. Provee configuración por defecto para ZSH (el archivo ~/.zhrc) y también provee temas y más características.

De lo que sé, la mayoría de los usuarios poderosos que usan ZSH también usan “Oh My ZSH”.
  1. Instalar “Oh My ZSH”

Ejecuta el siguiente comando para instalar "Oh My ZSH".

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
1*9X_r8cgGVOIwS8PiPZnS7A
Oh My ZSH está instalado

2. Cierra y quita iTerm2 y reábrelo

Debería lucir algo parecido como lo de abajo. Nota que la terminal ha cambiado y el tema es un poco diferente – Eso es "Oh My ZSH" en acción para ti.

1*8Ot5gJq4R_iCXJqlkDPGow
Tema Inicial de Oh My ZSH

Paso 4— Cambiar Temas E Instalar Fuentes

En este paso, agregaremos dos temas diferentes de "Oh My ZSH". "Oh My ZSH" viene con miles de temas. Ps.: Pero algunos Temas necesitan pasos extras como instalar fuentes específicas y así sucesivamente.

Para establecer un Tema, simplemente abre el archivo ~/.zshrc (creado por "Oh My ZSH") y cambia el tema como se muestra abajo.

PS: .zshrc es el archivo de configuración para el shell de ZSH. Las personas que no usan "Oh My ZSH" tendrán que crear este archivo manualmente y agregar otras configuraciones por sí mismos. “Oh My ZSH” automáticamente crea este archivo si éste no existe y luego agrega su propio conjunto de configuraciones dentro de este archivo.

Tema 1 — Vamos a agregar un Tema Llamado “Avit”

  1. Abre .zshrc
$ nano ~/.zshrc

2. Cambiar el Tema a “Avit”

Puedes buscar todos los Temas de "Oh My ZSH" aquí. Para cambiar el Tema, simplemente cambia el valor de ZSH_THEME en el archivo ~/.zshrc de robbyrussell a Avit.

1*yzCfQpf-7oVs3SPelf1Imw

3. Actualiza la configuración de ZSH

Ejecuta el siguiente comando para actualizar la configuración

$ source ~/.zshrc
1*jdA_I2AykgRqAKTRVSY3Eg
Tu terminal con el Tema en Avit

4. Cambia el color de fondo y el tamaño de la fuente

Abre iTerm2 > Preferencias > Perfiles > Colores y cambia el color de fondo negro para usar el gris 20% como se muestra debajo

1*NjFS-nVNi0O8lDSoHLUleg
Usa fondo Gris 20%

Luego abre Texto > Cambiar Fuente y cambia el tamaño a 14pt

1*8rl1Nc5oqqtd7RSjzo8K4w
Cambiar fuente a 14pt
1*CjzxD0L9jyqK0bp5zLB8lg
Un hermoso y limpio iTerm2 con ZSH!

Muy bien, instalemos un Tema distinto que necesite una fuente.

Tema 2 — Instalando el tema “agnoster” de Oh My ZSH

Este es un tema popular porque emula la aplicación de Python Powerline que mejora la terminal. La siguiente imagen muestra cómo luce. Pero este tema también necesita que instalemos los temas de Powerline.

1*vLlx2GBxwk1NAOa-eLOCyw
Tema agnoster de Oh My ZSH

1. Instalar fuentes de Powerline

$ git clone https://github.com/powerline/fonts.git
$ cd fonts
$ ./install.sh

2. Cambiar el Tema a “agnoster”

$ open ~/.zshrc
Poner ZSH_THEME="agnoster" y guardar el archivo

3. Quitar iTerm2 y reabrirlo

4. Establece la fuente de Powerline

Puedes establecer cualquier fuente parcheada de Powerline que te guste. Todas las fuentes terminan con "for Powerline".

Abre ITerm2 > Preferencias > Perfiles > Texto > Cambiar Fuente y ponlo a algo que tenga “for Powerline”. Yo elijo la fuente “Meslo LG DZ for Powerline”.

1*S9KIZotQcq4dNoBESM0v3w
Meslo LG DZ for Powerline Iterm2 font
Nota — Si estás confundido sobre las fuentes y los Temas: los Temas son para "Oh My ZSH" y la shell de ZSH y las fuentes son para el iterm2 mismo.

5. Todo listo

En este punto tu terminal debería lucir como lo de abajo:

1*vLlx2GBxwk1NAOa-eLOCyw

Paso 5 — Instalar los "esquemas de color" de iTerm2 (Temas de iTerm2)

Hay un montón de esquemas de colores hermosos para iTerm2. Estos esquemas cambian el color frontal, el color de fondo, el color del cursor, etcétera. Puedes encontrarlos en el repositorio de iTerm2-color-schemes.

Nota: Estos son sólo esquemas de color de la UI de iTerm2 y no lidia con la apariencia de la terminal y se siente como los temas de "Oh My ZSH" (otra cosa más que sólo cambiar colores).

Sigue estos pasos para instalarlos.

  1. Descarga iTerm2-color-schemes como un archivo zip y extráelo
  2. La carpeta "Schemes" contiene todos los archivos de color – terminan con .itermcolors
  3. Abre iTerm2 > Preferencias > Perfil > Colores > Preajustes de Color > Importar
  4. En la ventana de importar, navega a la carpeta “Schemes” (del paso 2)
  5. Selecciona todos los archivos, así puedes importar todos los esquemas de color de una sola vez
  6. Simplemente, selecciona cualquier esquema de color que quieras
Mis favoritos son Batman y Argonaut
1*LHZaKiNSSp5PX0RRTS5ITw
Tema Batman iTerm2

El esquema de color de Argonauta luce como el de abajo:

1*yFbKJQbBwNRbtU4dFM2UVA
Esquema de color Argonaut

Paso 6— Instalar plugins

Los plugins agregan más funcionalidades a tu flujo de trabajo. Por defecto "Oh My ZSH" ya tiene el plugin "git"! y por eso eras capaz de ver todos los estados de Git en la consola en capturas de pantalla anteriores. Agreguemos otro para ver como funciona.

Nota: En esta sección, instalaremos dos plugins disntintos para mostrar cómo funcionan.

Plugin 1 — Agregar el plugin Resaltado de Sintaxis

El plugin Resaltado de Sintaxis agrega colores hermosos a los comandos que tipeas como se muestra abajo:

1*f_RqoUuzWvcVhATPzr2i7A
  1. Clonar el repositorio del plugin zsh-syntax-highlighting y copiarlo al directorio de plugins "Oh My ZSH"
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

2. Activar el plugin en ~/.zshrc agregando zsh-syntax-highlighting a la sección de Plugins como se muestra debajo

1*1sGebsi0qMQMAvPLo64ARQ
Agregar un nuevo plugin en una nueva línea dentro de la sección de plugins

3. Releer la configuración de zshrc

source ~/.zshrc

Plugin 2 — Agregar el Plugin ZSH-AutoSuggestion

Este plugin autosugiere cualquiera de los comandos anteriores. ¡Bastante útil! Para seleccionar la terminación, simplemente presiona la tecla .

1*ZiTrbBVUGLWe4OwRL1Ytrg
  1. Instalar el plugin
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
PS: ZSH_CUSTOM apunta a ~/.oh-my-zsh/custom

2. Abre ~/.zshrc y agrega zsh-autosuggestions

1*pshPBacVfZgHaKdlG1cajg

Paso 7 — Usar Soporte de Ligadura

Hay varias fuentes que ayudan hacer operadores como menos que, doble igual, flecha derecha, distinto que, etc. tengan un aspecto bonito. Por ejemplo, cada vez que escribas: =>, se transforma en: .

1*OIpApVPLobonxDMEkaAbaA

Para usarlo, necesitamos fuentes que soporten ligaduras. También necesitamos activarlo en iTerm2. FiraCode es una fuente. Sigue los pasos para instalar y activar ligaduras.

  1. Descargar el repositorio de FiraCode y extrae el archivo zip (o clónalo)
  2. Abre la carpeta dstr > ttf y haz doble clic en todos los archivos *.ttf y selecciona el botón “Instalar fuente” para instalar cada una de las variaciones de la fuente
  3. Navega a iTerm2 | Preferencias | Perfiles | Texto
  4. Selecciona la caja Usar Ligatures
  5. Haz clic en Cambiar Fuente y selecciona la fuente Fira Code Regular
1*kFynRP_J2Q42WA5TGtPphA

Resumen

Hemos cubierto un montón en este blog empezando en instalar la última versión de ZSH con Homebrew, Oh My ZSH, Plugins, temas, activar "ligaduras" para la fuente de FiraCode.

¡Gracias!