Zsh

En lo personal me encanta el terminal y en lo profesional lo veo indispensable para ciertas tareas.

Adaptarlo a nuestras necesidades y potenciar sus utilidades de caja me parece vital si pasas muchas horas delante de una interfaz de comandos.

En esta guía explico como configurar zsh a mis gustos personales, (en este vídeo tenéis todo el proceso más detallado):

Instalación de requisitos

Con el siguiente comando podéis instalar todos los requisitos necesarios para instalar zsh:

apt install curl zsh

Instalación de ohmyzsh

Ahora que tenemos instalado zsh podemos instalar el plugin de ohmyzsh:

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

e voila!

Opción 1 - Configuración con antigen (recomendada)

Antigen es un plugin de ohmyzsh que nos permite configurar zsh con una interfaz más sencilla, funcionando como gestor de plugins y temas.

Podemos descargarlo con el siguiente comando:

curl -L git.io/antigen > antigen.zsh

Es importante que tengamos localizado el archivo antigen.zsh, personalmente lo suelo guardar dentro de la carpeta .oh-my-zsh por limpieza.

Configuración de antigen

Para configurar antigen debemos añadir el siguiente comando en el fichero .zshrc:

source <ubicación del archivo antigen.zsh>

Instalación de plugin y temas

Para configurar un plugin podemos usar el comando ‘antigen bundle’ y para seleccionar un tema se usa el comando ‘antigen theme’.

Por ejemplo:

# Definición de plugins
antigen bundle git
antigen bundle git-prompt

# Definición de un tema
antigen theme robbyrussell

Para finalizar la configuración de antigen debemos añadir el siguiente comando en el fichero .zshrc:

antigen apply

La principal ventaja que nos aporta antigen es que deja un fichero de configuración mucho más limpio y, además, nos instala automaticamente los plugins y temas que hemos defino.

Las próxima vez que hagamos source .zshrc antigen se encargará de gestionarlo todo.

Así quedaría el fichero .zshrc completo:

source ~/.oh-my-zsh/antigen.zsh

# Load the oh-my-zsh's library.
antigen use oh-my-zsh

# Bundles from the default repo (robbyrussell's oh-my-zsh).
antigen bundle git
antigen bundle git-prompt
antigen bundle z 
antigen bundle pip
antigen bundle kubectl 
antigen bundle git-prompt
antigen bundle vi-mode
antigen bundle docker
antigen bundle docker-compose

# Syntax highlighting bundle.
antigen bundle zsh-users/zsh-syntax-highlighting
antigen bundle zsh-users/zsh-autosuggestions

# Load the theme.
antigen theme bureau 

# Tell Antigen that you're done.
antigen apply

Opción 2 - Configuración de ohmyzsh (Sin antigen)

Recuerda que todas las configuraciones que hagas en zsh se guardarán en el archivo .zshrc. Aquí podemos editar el tema, los plugins, añadir alias.. etc.

Tema

Se puede editar el tema de zsh en el parámentro ZSH_THEME: del fichero .zshrc. Por ejemplo:

ZSH_THEME="robbyrussell"

Así se cambia al tema por defecto de ohmyzsh.

Plugins

Para añadir un plugin a zsh, debemos añadirlo en la sección plugins del fichero .zshrc separados por espacios. Por ejemplo:

plugins=(git sudo docker z )

Recargar cambios

Recuerda que cada vez que modifiques el fichero .zshrc tendras que cargar de nuevo la configuración con el comando:

source ~/.zshrc

Autocompletado y resaltado de color

Estas funcionalidades no vienen por defecto pero si podemos intalar los plugins para activarlos posteriormente. Aquí los enlaces a sus repositorios: autocomplete highlight

Los podríamos instalar respectivamente con los siguientes comandos:

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

#Instalar resaltado de color
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Los podríamos activar añadiéndolos en el parámetro de plugins en el fichero .zshrc:

plugins=(zsh-syntax-highlighting zsh-autosuggestions)

Última modificación March 6, 2022: Eliminadas algunas descripciones (59458a0)