Llega el momento de hacerse hombre y mejorar la terminal de Linux, pasar de ser novatos a profesionales y darle un toque personalizado, pero sobre todo más funcionalidad, y hoy vamos a ver como lograrlo con ZSH y Oh My ZSH.

Sea cual sea la distribución que uses los comandos son los mismos, en este caso voy a usar apt el manejador de Debian/Ubuntu y derivadas, pero si no usa yum, dnf, zypper, o según tu distribución.

Voy a explicar todo lo necesario para que puedas manipular tu terminal entendiendo que es cada cosa, si quieren un video dejen comentarios que lo puedo hacer en breve.

Vamos a necesitar unos Pre-Requisitos para poder instalar zsh y el framework oh-my-zsh que sirve para darle aún más funcionalidad a la terminal por medio de plugins.

sudo apt install git curl wget -y

1. Instalación de ZSH

sudo apt install zsh

2. Descargar y ejecutar Oh My ZSH

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

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

3. Desinstalación de Oh My ZSH

uninstall_oh_my_zsh

4. Fuentes necesarias

Es posible que cada Tema que instalemos necesite alguna fuente adicional porque a veces vamos a ver símbolos raros, la más común es powerline, que la instalamos con apt.

sudo apt install fonts-powerline

5. Una vez instalado Oh My Zsh!, se creará un archivo de configuración oculto en la carpeta del usuario (~/.zshrc).

cat ~/.zshrc

Y además vamos a tener una carpeta donde vamos a poder ver entre otras cosas los plugins, los temas, templates.

ls ~/.oh-my-zsh/plugins

ls ~/.oh-my-zsh

6- Temas y plugins

Al momento de instalar un tema o un plugin es necesario decirle a zsh que los tome, esto lo hacemos en el archivo de configuración (~/.zshrc) el cual ingresamos a modificar con nuestro editor preferido:

nano ~/.zshrc

Y los parámetros a modificar por lo general son

ZSH_THEME= "......." o plugins=(............)

6.1- TEMAS

Tene en cuenta que a veces son necesarias algunas funciones adicionales como comenté anteriormente, pero una vez aplicadas podemos especificar el tema en el archivo de configuración .zshrc, dependerá del tema que uses, por ejemplo el que viene por defecto es:

ZSH_THEME="robbyrussell"

Aunque uno de los más populares es agnoster, recordá tener la fuente mencionada.

ZSH_THEME="agnoster"

Para ver los temas disponibles vamos a themes

ls ~/.oh-my-zsh/themes

6.2- PLUGINS

Ejemplo 1: zsh-syntax-highlighting muestra qué comandos están bien escritos o si existen y además los que están mal escritos o no existen.

Lo instalamos haciendo:

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

Ejemplo 2: zsh-autosuggestions muestra sugerencias y predice los que quieres hacer en base a los comandos más utilizados. Con la flecha para la derecha tomamos el comando, y con Ctrl + r vemos el history igual que en bash.

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

Abra actualizamos el archivo ~/.zshrc

nano ~/.zshrc

Agregamos el nombre del plugin a la lista, separados por un espacio.

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

7- Comandos necesarios para entender la shell de Linux

7.1- Saber que shells están instaladas en el sistema.

cat /etc/shells

7.2- Saber la shell actual

echo $SHELL

Otra forma es usando ps

ps -p $$

7.3- Cambia la shell a zsh

Cambiamos la shell del usuario actual

chsh -s `which zsh`

En el caso de querer cambiarle la shell a otro usuario:

sudo chsh -s /usr/bin/zsh USUARIO

7.4- Para que los cambios surtan efecto

Es necesario cerrar la terminal y volver a abrirla. Aunque a veces es necesario reiniciar el Sistema Operativo.
Pero podemos usar el comando source para que aplique los cambios de inmediato

source ~/.zshrc

7.5- Si nos gusta Zsh, podemos volver a bash de la siguiente forma:

chsh -s `which bash`

7.6- Saber la versión de ZSH

zsh --version

8- Template

Por defecto vamos a contar con un template que viene apenas instalamos, esta en ~/.oh-my-zsh/templates/zshrc.zsh-template el cual podemos copiar para otros usuarios.

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

Ahora a jugar hasta encontrar el punto justo para nuestro estilo. Recomiendo hacer configuraciones para tu usuario y para el root, así diferenciamos bien los usuarios.

9- Alias en ZSH

Recordá que los alias que tenías en .bashrc no van a funcionar por lo que los tenes que copiar en el archivo de configuración de .zshrc, podes colocarlos al final y recordá usar el comando source para cargarlos en la sesión actual.

Deja un comentario