2- Haciendo que nuestra terminal sea atractiva (Zsh + Oh-my-zsh)
Ya conocemos una herramienta para mejorar nuestra productividad (tmux), ahora toca otra parte divertida, modificar la terminal para que sea más atractiva e incluso, más productiva!!!
2.1- Instalando Zsh
ZSH, también llamado Zshell, es una versión extendida de BourneShell (sh), con muchas características nuevas y soporte para plugins y temas. Dado que se basa en el mismo shell que Bash, ZSH tiene muchas de las mismas características. Empezar a utilizarlo es muy sencillo.
Tiene muchas similitudes con bash y ksh e incorpora muchas de sus características principales. Algunas de sus ventajas principales incluyen una lista de autocompletar navegable. A diferencia de bash, que únicamente lista los comandos disponibles.
Antes de instalarlo, comprobamos si no se encuentra instalado ya:
cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /bin/dash /usr/bin/dash /usr/bin/tmux /usr/bin/screen
Como no se encuentra, simplemente se instala:
apt install zsh -y
Se puede checkear la versión:
zsh --version zsh 5.8 (x86_64-ubuntu-linux-gnu)
Podemos hacer que Zsh sea nuestra terminal por defecto:
chsh -s $(which zsh)
Si se desea por alguna razón regresar a utilizar la terminal por defecto, los siguientes comandos harán la magia:
# Se puede usar: chsh -s /bin/bash or exec bash # O chsh -s /bin/zsh or exec zsh
2.2- Instalando y configurando Oh my Zsh
En las propias palabras de sus creados, Oh my Zsh:
Una vez instalado, su terminal se convertirá en la comidilla de la ciudad o le devolveremos su dinero. Con cada pulsación de tecla en el símbolo del sistema, se beneficiará de los cientos de potentes complementos y hermosos temas. Los extraños se acercarán a ti en los cafés y te preguntarán: «¡Eso es increíble! ¿Eres una especie de genio?»
OhMyZsh es un framework de Zsh que habilita y potencia mucho a esta terminal
Para instalarlo correr:
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
Aunque también se puede hacer manualmente:
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh && \ chmod +x install.sh &&\ ./install.xh
Una ves instalado:
2.3- Temas de OhMyZsh
El tema (ZSH_THEME) es una variable del archivo zshrc (omz). Para agregar o actualizar el tema, primero se debe instalar (si el tema no está instalado) el tema y luego actualizar la variable del tema (ZSH_THEME).
OhMyZsh viene con temas predefinidos. Pueden ser configurados cambiando la variable ZSH_THEME.
Los temas predeterminados y populares de OhMyZsh son robbyrussell y agnoster que vienen con la instalación de omz.
Vamos cambiar el tema que viene por defecto. Simplemente:
nano ~/.zshrc # Se busca la variable ZSH_THEME=" robbyrussell " # Y se cambia por: ZSH_THEME="agnoster"
Para aplicar los cambios basta con:
source ~/.zshrc
Hay infinidad de temas, algunos hay que descargarlos, por supuesto…
2.4- El tema Powerlevel10k
Powerlevel10k es un tema para Zsh. Enfatiza la velocidad, la flexibilidad y la experiencia lista para usar.
Primeramente, aunque no es necesario, es altamente recomendado, instalar las fuentes necesarias. Para ello, primeramente, las descargamos:
MesloLGS NF Regular.ttf | MesloLGS NF Bold.ttf | MesloLGS NF Italic.ttf | MesloLGS NF Bold Italic.ttf
Y luego las instalamos, solo dándole doble click y luego haciendo click en Install/Instalar. En mi caso, desde Windows, utilizo XShell. Para que XShell reconozca las fuentes recientemente instaladas, solo basta con reiniciar el programa y luego seleccionarla así:
NOTA: Las fuentes pueden ser instaladas en varios emuladores de terminales: Termius, Moba, Yakuake, Gnome Terminal…. |
Una vez instaladas las fuentes, se procede a clonar el proyecto:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Ahora solo resta decirle a OhMyZsh que acepte el tema recién descargado:
nano ~/.zshrc ZSH_THEME="powerlevel10k/powerlevel10k"
Realizado lo anterior salimos de la terminal enviando un exit (NO REINICIAR source ~/.zshrc) y cuando nos logueamos nuevamente nos aparecerá el wizard:
Realizara algunas preguntas de calibración, casi todas relacionadas con las fuentes. Y cuando termine la configuración se tendrá una terminal más funcional, que tiene opciones de autocompletado mejoradas y que muestra más detalles:
2.5- Plugins
Uno de los elementos más buenos de Zsh es que permite la incorporación de plugins.
Uno de los mejores plugins (Zsh-autosuggestion) que existen es el que te va mostrando opciones de auto completamiento mientras se escribe en la terminal.
Para utilizarlo primeramente se descarga y luego se setea en una variable llamada plugins en el archivo de configuración del Zsh:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
nano ~/.zshrc # Se busca por la variable llamada plugins y se agrega el nombre del plugin, en este caso quedaría de la siguiente forma: plugins=(git zsh-autosuggestions)
Ejemplo de autocompletamiento:
Ya tenemos un plugin para autocompletar, pero y si además le damos color?! Para eso es el plugin Syntax-highlighting.
Primeramente descargamos el plugin:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Y luego solo:
nano ~/.zshrc # Se busca por la variable llamada plugins y se agrega el nombre del plugin, en este caso quedaría de la siguiente forma: plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
Una vez aplicado el cambio, se sale del usuario y se vuelve a acceder al mismo. A modo de prueba:
Antes del plugin:
Después del plugin:
Hay muchos mas plugins, pueden revisar aquí, aquí y aquí.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Autores:
Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…
La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…
Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…
Percona Monitoring and Management (PMM) es una herramienta de código abierto para la supervisión y…
Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…
Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…