¡Compártelo!

Vitamina tu terminal con Oh My ZSH

Para todos los que nos dedicamos al mundo del desarrollo software, una gran parte del tiempo de nuestro trabajo pasa al lado de nuestra querida terminal. En este post hablaremos de Oh My ZSH, un paquete de utilidades, plugins y plantillas para el shell ZSH que hará nuestro día a día más sencillo.

Si eres usuario de Linux/ Unix seguramente estarás familiarizado al uso del shell bash, uno de los shell más extendidos, que nos permite entre otras funciones el autocompletado de nombres de comando de archivos, funciones avanzadas de para realizar scripting, consulta del historial de comandos usados, colores configurables entre otras funciones.

Os queremos presentar «Oh My ZSH!, un indispensable sustituto que utilizamos en nuestro día a día en Profile que mejora enormemente las posibilidades de nuestra shell añadiendo varias “killer features” que hacen que no volvamos a echar de menos el uso de nuestra querida bash.

Funcionalidades de Oh My ZSH

  • Autocompletado mejorada de la línea de comandos (no diferencia entre mayúsculas minúsculas).
  • Autocompletado de comandos Git. Visualización de información relativa a Git cuando nos situamos en un directorio que contiene un repositorio de código. Nos informa de la rama actual en la que nos encontramos así como el estado actual informando si tenemos cambios que subir en local.
Oh My Zsh
  • Instalación de plugins adicionales para permitir complementar la funcionalidad base (ej: autocompletado de comandos docker, autocompletado Gitflow).
  • Permite la creación de alias globales.
  • Diferentes temas disponibles para personalizar tu experiencia durante tiempo de uso de tu terminal.

Comenzando con Oh My Zsh 

Previamente a poder instalar Oh My ZSH, necesitamos tener configurada y funcionando la shell ZSH, por lo que procedemos a su instalación desde cero:

CentOS y derivados

Se debe introducir en el terminal el siguiente comando:

sudo yum install git zsh

Sistemas Debian/Ubuntu

Para proceder a la instalación se hará uso de un único comando:

sudo apt-get install git zsh

Mac OS

En el caso de Mac ZSH ya viene instalado pero a veces puede que no sea la última versión, por lo que te recomendamos actualizar la existente.

Para ello usaremos homebrew (que debe estar instalado previamente en la máquina) utilizando el siguiente comando:

brew install git zsh

Activar ZSH como consola por defecto

Una vez que hemos terminado de instalar nuestra nueva shell vamos a indicar a nuestra consola que siempre que se abra use esta shell por defecto, introduciendo el siguiente comando:

chsh -s $(which zsh)

Para algunas versiones de CentOS tendremos puede ser necesario usar el comando adicional:

usermod -s $(which zsh) $(whoami)

  • En el caso de obtener el siguiente mensaje por pantalla:
non-standard shell

Se deberá añadir la nueva shell a la lista de permitidas por el sistema, para ello, copia la ruta completa a la shell (se puede consultar usando el comando which zsh) y pégala en el archivo /etc/shells. Una vez completado este paso se deberá, volver a ejecutar el comando anterior.

Instalando Oh My ZSH

Una vez que tenemos nuestra shell con ZSH totalmente configurada vamos a proceder a instalar Oh My Zsh. Podéis consultar toda la información detallada en la web oficial de Oh My Zsh Pero como el tiempo es oro y queremos que puedas disfrutar lo antes posible de tu nueva experiencia, te dejamos el comando necesario vía Curl:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

 

Instalar usando wget

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

Y con este último paso ya quedará instalado correctamente para que puedas disfrutar de una nueva experiencia enriquecida en tu terminal favorito 🙂

Oh My Zsh

Configuración oh my zsh

Después de terminar la instalación de Oh my zsh podemos configurar a medida el tema y los diferentes plugins que se van a poder utilizar dentro de la herramienta.

Para permitir acceder a la configuración definida para la herramienta debemos teclear el siguiente comando:

 vi  ~/.zshrc

Modificar tema

Si queremos modificar el tema por defecto debemos cambiar el valor de ZSH_THEME.

Si necesitas consultar la lista completa de temas existente puedes visualizarlos e  zsh-themes

ZSH_THEME="agnoster"
Oh My Zsh

Configurar plugins

Por defecto solo disponemos del plugin de git activado. Podemos utilizar tantos plugins como deseamos añadiendo todos los que veamos útiles dentro de nuestro flujo de trabajo.

Oh My Zsh

Para instalar plugins en ZSH es necesario  descargarlos y proceder a su instalación, para poder consultar el listado de plugins que hay disponibles puedes consultar zsh-plugins. Yo recomiendo instalar 2 plugins muy útiles: zsh-syntax-highlighting y zsh-autosuggestions.

zsh-syntax-highlighting

Verifica qué comandos están bien escritos o si existen y también los que están mal escritos o no existen.

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

zsh-autosuggestions

Visualiza sugerencias y predice las tareas que quieres realizar en base a los comandos más utilizados.

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

Para poder acceder a la configuración de los plugins a usar debemos teclear el siguiente comando y localizar la parte donde se encuentran definidos:

 vi  ~/.zshrc

Como podéis ver Oh my ZSh es una herramienta que nos permite hacer que nuestra día a día sea un poco más amigable en ese lugar donde pasamos tanto tiempo conectados ejecutando nuestros comandos favoritos.

Artículos relacionados

jdk 21

Jdk 21: mejoras en la última versión LTS de Java

Cada 6 meses Java lanza una nueva versión de nuestro lenguaje favorito. Da igual si la estábamos esperando con ganas o si nos pilla por sorpresa, es algo que celebrar dentro de la comunidad. Esta vez la versión 21 incluye diferentes características estables, otras en

openAPI

Explorando OpenApi: estructura, rutas y seguridad

En este artículo, nos adentraremos en la utilización de OpenApi para crear los diferentes endpoints de nuestra aplicación, con sus diferentes objetos de request y response que necesitemos. ¡Vamos allá! ¿Qué es una API? Las API (Interfaz de Programación de Aplicaciones) son piezas de código

Cómo hacer una Regresión Lineal Simple en Machine Learning

Cómo hacer una Regresión Lineal Simple en Machine Learning

En la actualidad, el aprendizaje automático se ha convertido en una de las bases para resolver problemas y como ayuda a la toma de decisiones. En este artículo nos centraremos en el análisis y aplicación práctica de uno de los modelos predictivos más sencillos, el