⏩ Obtén una terminal productiva, eficaz y rápida con ZSH y Oh-my-zsh

    Una de las formas más efectivas para ser productivo, es con el uso de la terminal.

Muchos programadores saben esto. Es más veloz el uso del teclado, en comparación del mouse. Si eres un programador, lo mas probable es que sepas esto (Y si no, aprendiste algo nuevo. Por lo que deberias intentarlo. No tengas miedo).

    Por lo general, la mayor parte de los programadores la utilizan en su dia a dia, aunque sea para lo mínimo. Sin embargo, quedarse con la configuración que viene por defecto, no es suficiente.

    Hace tiempo te invité a convertirte en un super dios con el uso de la terminal. Hoy te quiero enseñar como potenciar ese superpoder.

    Llevo unas semanas utilizando ZSH en la terminal y he de admitir que es una maravilla. Puedo dar estos ejemplos para mostrar un pequeña parte de lo que puedes hacer:

Utilizando git status de forma abreviada

  • Puedo escribir comandos cortos en vez de largos.

  • Autocompletado. 

  • Navegación inteligente. Al presionar tab, te muestra un listado de lo que quieres decir.

  • Resaltado en los comandos, indicando si lo estas escribiendo bien o no (muy util).

  • Historial de comandos.

  • Personalizacion (extra xD).

  • Y MAS.

    En lo personal, tunear mi terminal de esta manera me ha servido en el momento de trabajar. Escribo menos y produzco más.

    Por ello, les quiero compartir como instalar ZSH y Oh-my-zsh. Así podrán probarlo para que los ayude (o por mera curiosidad a quienes les gusta experimentar y probar cosas, como yo).

    Aclaratoria. se debe cumplir ciertos prerequisitos:

  • Tener sistemas operativos UNIX. Como Linux, MacOS, y para el caso de Windows, WSL2.

  • Instalar ZSH.

    En mi caso, lo instale en Linux. Asi que empecemos.

Instalacion de ZSH 

    Antes de iniciar con oh-my-zsh, instalemos ZSH.

sudo apt install zsh

    Para confirmar que lo hemos instalado bien, escribe en la consola:

zsh --version

    En mi caso, la tengo en la version 5.4.2. Si te sale la version, es porque lo instalaste correctamente (No importa el numero de la version), de lo contrario te dirá el comando no existe.

    Conviertelo en shell por defecto.

chsh -s $(which zsh)

    Reinicia el computador y vuelve abrir a terminal (Puedes abrir la terminal con ctrl+t o ctrl+cmd).

Ahora, felicidades. Desbloqueaste la habilidad de zsh. Pasemos ahora con oh-my-zsh.

Esta es la manera en que se verá con ZSH


Instalación de Oh-my-zsh

    Hay dos formas de instalarlo, con wget o con curl.

    Para curl:

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

    Para wget:

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

    Nota: En el caso de que uno no te funcione (Como un error de que el comando no existe), prueba con la otra opción. Yo lo instale con curl.

Instalación de Oh-my-zsh con curl

    En el caso en que no te salga la presentacion de arriba, cerramos y volvermos abrir la terminal, y... TA DA. ¡Está lista!.

    Es momento de ponerle temas para darle un diseño diferente y mamadisima con los plugins Para asi tener una terminal hermosa y mamadisima (?).

Themes

    Por defecto se encuentra el tema de robbyrussel. Si la quieres cambiar con otro, debes dirigirte al archivo .zshrc (acá se guarda toda la configuracion de zsh). Antes de ponernos a ello, instalemos Powerline Fonts para evitar futuros problemas.

sudo apt install fonts-powerline

    Una vez completado, accedemos desde la terminal para, con el editor de tu preferencia, para cambiar el tema. Debes escribir:

nano ~/.zshrc

    Deberás ver algo como esto:

La linea resaltada es donde vas hacer el cambio


    Dirigete a
ZSH_THEME="robbyrussel y cambia robbyrussel por agnoster. Guardamos con ctrl+o, presionamos enter y luego salimos con ctrl+x

    ¡Y listo! Ya tienes un tema diferente para la terminal. Pero, apuesto a que quieres algo como esto:


    Si es asi, se recomienda altamente, pero no necesario, de
Meslo Nerd Fonts. Descargandolo 👉acá👈 .

    Seguimos. Instalamos powerlevel10k:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Instalando Powerline10k

    Y lo luego lo colocamos como tema:

nano ~/.zshrc ZSH_THEME="powerlevel10k/powerlevel10k" 

    Reiniciamos la terminal y te debe salir esto: 

Inicio de la configuración de Powerline10k

    Si no te sale el simbolito del rombo del inicio, es porque no tienes la ultima fuente que indiqué. Si no te importa, puedes continuar. De igual forma funcionará sin problemas.

Varios estilos para la terminal

    Lo configuras según tus gustos y tendras una terminal mucho más agradable que la que vemos a dia a dia.

Plugins

    El momento que todos estabamos esperando ha llegado. Es hora de poner MAMADISIMA al shell con plugins.

    Una shell con plugins puede ser mucho mas productiva que una simple. Incluso eficiente y rápida. Por ello enseñaré que necesitan. Instalemos zsh-syntax-highlighting y zsh-autosuggestions

    zsh-syntax-highlighting:

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

    zsh-autosuggestions:

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

    Lo añadimos a la lista de plugins de .zshrc.

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

        ¡Perfecto!. Hemos logrado tener el diseño de mi terminal de trabajo.

        Puedes añadir otros plugins además de los que vienen por defecto. Pueden encontrar más información en ohmyzsh Plugins.

Mis Plugins

Por ultimo, compartiré mi configuraciòn de ZSH. Este es mi listado de plugins:

Terminal

zsh-syntax-highlighting ------- Colores a los comandos. zsh-autosuggestions ------------- Sugerencia de comandos y autocompletado. zsh reload ---------------------------- Recarga zsh sin necesidad de reiniciar la terminal. alias-tips ---------------------------- Recomienda alias y para git.

Herramientas

extract--------------------------- ---- Plugin para descomprimir diversas extensiones archivos comprimidos. colored-man-pages --------------- Le agrega color al comando man. Comando de ayuda. sudo ------------------------------------ Permite ejecutar un comando en sudo con presionar dos veces "escape". history ------------------------------- Muestra el historial de comandos de forma mas descriptiva. catimg---------------------------------- Muestra las imagenes desde la terminal (No todas salen bien pero es util). urltools ------------------------------ Decode and encode url.

Entornos de trabajo

git ------------------------------------- Añade alias de git para mejorar productividad. nvm ------------------------------------- Añade autocompletado para nvm. npm ------------------------------------- Añade alias para npm. sublime ------------------------------- Añade alias para sublime. fancy-ctrl-z ---------------------- Realiza un cambio de la terminal a vim.

Documentación

frontend-search ------------------ Realiza busquedas de lo que necesites del frontend al navegador. node ----------------------------------- Busca la documentacion o muestra el path del mismo en el terminal.

Otros

chucknorris ------------------------ Broma de chuck norris xd. emoji ---------------------------------- Listado de emojis.




Comentarios

Entradas populares