Personaliza tu terminal de 0 a PRO 😎

Originalmente publicado en dev.to

Ten por seguro que personalizar la terminal no te hará un hacker ni mejor desarrollador pero te prometo que vas a sentirte como uno.

A todo desarrolladores nos gusta la personalización de nuestras herramientas y que mejor que empezar con la que probablemente más interactuamos, la terminal.

Esta guía puede servir para Linux, MacOS y WSL (Windows Subsystem for Linux) por lo tanto pueden usar cualquier terminal que tengan, ya sea la terminal por defecto de MacOS, iterm 2.0, GNOME terminal, Terminator, la nueva terminal de Windows etc.

Comparación visual 👀

Antes

1

2

Después

new3

new4

new5

new6



Lo que haremos 🧰

  1. Cambiaremos la shell por defecto (BASH) por ZSH
  2. Instalaremos GIT para clonar repositorios desde la nube
  3. Instalaremos Oh My ZSH que es un administrador de configuración para ZSH el cual nos hará la vida más fácil
  4. Instalaremos algunos plugins sobre Oh My ZSH
  5. Instalaremos el tema powerlevel10k con Oh My ZSH que permite una gran cantidad de combinaciones gracias a su configuration wizard
  6. Agregaremos algunos alias que es como configurar comando personalizados
  7. Cambiaremos el prompt por defecto de nuestra terminal



Cambiar BASH por ZSH 💱

ZSH es una mejor alternativa al shell por defecto que es BASH, principalmente por sus addons que nos facilitan todo, desde plugins hasta un framework para temas.

  1. Instalamos ZSH

    sudo apt install zsh
    
  2. Seleccionamos ZSH como shell por defecto

    chsh -s $(which zsh)
    
    #Otra alternativa es:
    #chsh -s `which zsh`
    
  3. Reiniciamos la consola

  4. Revisamos que estemos usando ZSH, si nos sale un error hay que verficar la instalación

    echo $SHELL
    
    #nos debe responder con
    #/usr/bin/zsh
    
  5. Si nos sale el siguiente menú seleccionamos (2) para desktop y (0) para conexiones SSH

    5

Instalamos git 💻

Además de ser una excelente herramienta para desarrollo también la usaremos para que OhMyZSH se pueda instalar correctamente

  1. Instalamos los paquetes de git

    sudo apt-get install git
    
  2. Comprobamos la instalación

    git --version
    



Instalamos Oh My ZSH 🔧

Este framework creado por la comunidad nos ayuda a configurar nuestro ZSH.
No confundir ZSH y OhMyZSH, OhMyZSH actúa sobre el archivo de configuración de ZSH (.zshrc)

  1. Instalamos Oh My ZSH

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    
  • Oh My ZSH nos modifica el archivo .zshrc y nos crea la carpeta .oh-my-zsh donde encontraremos los plugins, temas, plantillas etc.

    nano ~/.zshrc
    #para ver la configuración de ZSH
    
  • Por defecto nos selecciona el tema robbyrussell

    6

Instalamos plugins 🔨

  1. Los paquetes que vamos a instalar son:
    • zsh-syntax-highlighting: Si estas escribiendo los comando correctos en la terminal, les pone colores

      7

      git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
      
    • zsh-autosuggestions: Para obtener sugerencias basadas en tu historial

      8

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

- **fzf:** Con "ctrl + t" te da un explorador de carpeta, con "ctrl + r" te da un explorador de historial de comandos y con "ctrl + c" salimos
    
    ![9](https://dev-to-uploads.s3.amazonaws.com/i/82a9p753e0qtfrpvkxf3.gif) 
    
    ```bash
    git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install
    ```

    **Aceptamos todo lo que nos pida**
  1. Vamos a nuestro archivo de configuración ZSH

    nano ~/.zshrc
    

    Aquí nos vamos a la parte de abajo del archivo hasta donde veamos plugins (por defecto viene con el plugin de git) y agregamos lo siguiente

    plugins=(
    git
    zsh-syntax-highlighting
    zsh-autosuggestions
    )
    
  2. Reiniciamos la consola y listo 😉



Power level 10k 🖌️

Fuente

Fuente regular
10

Fuente nerd
11

  1. Descargar una fuente con soporte para iconos.

  2. Descomprimir el zip a la carpeta .fonts (~/.fonts o ~/.local/share/fonts) y movernos a ella

    # En caso de no tener la carpeta fonts
    # mkdir ~/.fonts && cd ~/.fonts
    unzip ~/Descargas/[fuente_descargada].zip
    
  3. Cambiar la fuente de la terminal, normalmente es click derecho sobre el área de comandos > Preferencias > Apariencia/Perfiles > Fuente

    • Aquí elegimos la fuente que hayamos descargado

    12

Powerlevel10k

Nos da muchas opciones de personalización visual como las siguientes

13

  1. Descargamos powelevel10k

    git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
    
  2. Declaramos el tema en el archivo de configuración de zsh

    ZSH_THEME="powerleve10k/powerlevel10k"
    POWERLEVEL10K_MODE="nerdfont-complete"
    

    14

  3. Reiniciamos la terminal para que aparezca el configurador o en su defecto teclear p10k configure

    15

  4. Terminando el instalador tendremos nuestra terminal totalmente personalizada

Colores

  • Para cambiar los colores damos click derecho sobre el área de comandos > Preferencias > Apariencia/Perfiles > colores

    16

  • Para paletas de colores random puedes visitar coolors.co

  • Mis colores principales son:

    Fondo: #302F4D

    Texto: #FFFFFF

    Morado de prompt: #B816B8

    Blanco de prompt: #FFFFFF



Aliases 🕵️‍♂️

Los aliases son una herramienta para crear atajos para los comando que más usamos o para los que más nos equivocamos

  1. Abrimos la configuración zsh y nos movemos a la parte de abajo

    17

    Aquí en la configuración nos da unos ejemplos

  2. La sintaxis para agregar alias es:

    alias atajo="comando regular para el atajo"
    
  3. Los atajos que tengo configurados son

    alias zshconfig="nano ~/.zshrc"
    alias ohmyzsh="cd ~/.oh-my-zsh"
    alias sl="ls" #por si lo escribo al revés XD
    



Cambiando el prompt 👩‍💻

Personalmente prefiero que solo me muestre el directorio actual en lugar de todo el path. Queremos pasar de esto

18

A esto, con ayuda de una configuración del tema powerlevel10k

19

  1. Primero tendremos que abrír el archivo de configuración con nuestro editor favorito, en mi caso utilizaré nano

    nano ~/.p10k.zsh
    
  2. Después buscamos el parámetro (en nano podemos usar "Ctrl + w" para buscar)

    POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique
    
  3. Sustituimos el valor por defecto

    POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
    
  4. Reiniciar la terminal 😃



Gracias por leer!

No olvides compartir esta guía para que mas gente tenga terminales de otro mundo y compartir el conocimiento.
No dudes en mandarme un screenshot de tu terminal por twitter como @__raulmar


Recursos 📔

Instalación de Terminator terminal

Utilidades Terminator terminal

Your terminal can be much more productive

OhMyZSH official repo

ZSH installation guide

Power level 10k & OhMyZSH

OhMyZSH plugins

OhMyZSH website