DEV Community

Cover image for Enchulame la terminal - Mac
Khriztian Moreno
Khriztian Moreno

Posted on • Edited on

Enchulame la terminal - Mac

Como usuario de Mac OS, disfruto trabajar con la terminal y me parece una herramienta especialmente poderosa. Por lo tanto, pasé bastante tiempo personalizándolo y aquí está mi guía definitiva para la personalización de terminales.

Alt Text

Primero pensé que solo crearía una publicación corta con algunos de los ajustes que me gustan. Pero tenía tantas cosas que quería mostrar que esto comenzó a convertirse en una publicación considerablemente larga. Así que he decidido publicarlo ahora, con tantos consejos como pueda escribir, y lo actualizaré con nuevos consejos y trucos.

Mi terminal

Instalaciones recomendadas

Comencemos entonces a configurar todas las herramientas que vamos a necesitar.

Prerrequsitos

  • En primer lugar, debe instalar iTerm2.
  • Luego instalar brew.
  • Ahora instale oh-my-zsh, abra iTerm2 y pegue el siguiente comando: ```bash

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


Luego de tener este par de cosas instaladas entremos mas en materia.

## Fuentes parcheadas

Quiero comenzar a hablar sobre las fuentes parcheadas, ya que muchas de las personalizaciones que explicaré más adelante pueden depender de ellas. Las fuentes parcheadas consisten en fuentes regulares a las que se han agregado algunos símbolos adicionales. De esa manera, puede mostrar iconos especiales (como el icono de su sistema operativo) o agregar nuevas formas a tu prompt.

El proyecto más exitoso es nerd-fonts, que incluye muchas de las fuentes más utilizadas y favorita de este proyecto es [Hack Bold](https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/Hack/Bold/complete/Hack%20Bold%20Nerd%20Font%20Complete.ttf)

### [Nerd fonts](https://www.nerdfonts.com/)
Nerd Fonts es un proyecto que parchea fuentes dirigidas por desarrolladores con una gran cantidad de glifos (iconos). Específicamente para agregar una gran cantidad de glifos adicionales de 'fuentes icónicas' populares como Font Awesome, Devicons, Octicons y otras.

![Nerd fonts](https://www.nerdfonts.com/assets/img/sankey-glyphs-combined-diagram.png)

Entonces para instalar estas fuentes en tu Mac OS puedes usar brew: 

```bash


brew tap homebrew/cask-fonts
brew cask install font-hack-nerd-font


Enter fullscreen mode Exit fullscreen mode

He visto que algunas veces no instala las fuentes con cask, aqui hay otra opcion:



brew install --cask font-hack-nerd-font


Enter fullscreen mode Exit fullscreen mode

Ahora, si busca en la carpeta en la que acaba de instalarlo, verá que aparece allí. ls ~/Library/Fonts

Configura tu terminal

Una vez que haya descargado Nerd Fonts, puede configurar su terminal para usarlo. Configure iTerm2 para usar la fuente yendo a:



iTerm2 -> Preferences -> Profiles -> Text -> Font -> Change Font


Enter fullscreen mode Exit fullscreen mode

Seleccione la fuente Hack Regular Nerd Font y ajuste el tamaño si lo desea. También marque la casilla Usar una fuente diferente para texto que no sea ASCII y seleccione la fuente nuevamente. Debería mostrar la nueva fuente e iconos en la solicitud.

iTerm2 Text nerd fonts

No te preocupes si no vez un cambio significativo en tu terminal, esto nos va a dar la partida para los siguientes pasos.

Colorear el terminal

En el camino hacia la terminal definitiva, no hay nada que mejore su aspecto más que personalizar su esquema de color, por lo que este será nuestro punto de partida. Al buscar en Internet, podrá encontrar muchos temas, pero la forma más fácil de aplicarlos es usar Gogh

Esta herramienta no requiere instalación y le permite elegir sus colores favoritos de una larga lista de diferentes esquemas preconstruidos.

Simplemente copie y pegue el comando:



 bash -c  "$(curl -sLo- https://git.io/vQgMr)" 


Enter fullscreen mode Exit fullscreen mode

Veras algo asi en tu terminal.

gogh

Luego de seleccionar algun tema, este se instalara y estará disponible para seleccionarlo en tu terminal.



iTerm2 -> Preferences -> Profiles -> Colors -> Color Presets


Enter fullscreen mode Exit fullscreen mode

LSD, LOLcat y ccat

Algunas de las siguientes herramientas para lograr que se vean mejor necesita que tu iterm2 tenga un contraste minimo.

lsd está muy inspirado en el proyecto de súper colores pero con algunas pequeñas diferencias. Por ejemplo, está escrito en RUST y no en ruby, lo que lo hace mucho más rápido.

LSD

Es necesario instalar las fuentes parcheadas de powerline nerd-font y/o font-awesome.

Para instalar LSD solo debes usar brew y ejecutar esta linea en tu terminal:



brew install lsd


Enter fullscreen mode Exit fullscreen mode

lolcat 🤣️ ¡Obtiene arcoiris y unicornios en todas partes! Esta herramienta aparece comúnmente utilizada junto con Neofetch, agregando un efecto de arco iris impresionante a tu prompt.

LOLcat

Para instalar LOLcat solo debes usar brew y ejecutar esta linea en tu terminal:



brew install lolcat


Enter fullscreen mode Exit fullscreen mode

Para verificar que te instalo y funciona correctamente puedes correr en la terminal



ls | lolcat


Enter fullscreen mode Exit fullscreen mode

ccat
Es el cat colorante. Funciona de manera similar a cat pero muestra contenido con resaltado de sintaxis.

ccat

Para instalar ccat solo debes usar brew y ejecutar esta linea en tu terminal:



brew install ccat


Enter fullscreen mode Exit fullscreen mode

Personalizar el bash prompt

En caso de que haya instalado una fuente parcheada como se describió anteriormente, ahora podrá usar cualquier tipo de símbolos para construir su prompt. Estas fuentes incluyen muchos símbolos powerline que le permitiran personalizar completamente su terminal sin tener que instalar ningún complemento externo.

Powerlevel10k

Es una rápida reimplementación de POWERLEVEL9K con incluso algunas características adicionales. Incluso mantiene los mismos nombres de variables, por lo que no necesitará cambiar su configuración si viene de POWERLEVEL9k.

Una cosa que me encanta de POWERLEVEL10K es que, si aún no tiene configuración, cuando la inicie por primera vez, le mostrará una guía que le preguntará sus preferencias. Durante este proceso, muestra varios ejemplos, por lo que es mucho más fácil de personalizar.

Powerlevel10k

Para instalarlo en Mac tenemos dos caminos, el primero puede ser usando brew o el segundo que sera el que usaremos es con Oh My Zsh, pega la siguente linea en tu terminal.



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


Enter fullscreen mode Exit fullscreen mode

Ahora deberas indicarle a zsh cual sera el tema a usar, para eso edita el archivo ~/.zshrc, puedes usar cualquier editor de tu preferencia y buscar la propiedad del tema y cambiarlo por ZSH_THEME="powerlevel10k/powerlevel10k

ZSH Theme

Debemos recargar este archivo para ver los cambios en nuestra terminal.



source ~/.zshrc

Enter fullscreen mode Exit fullscreen mode




Asistente de configuración

Escribe p10k configure para acceder al asistente de configuración incorporado directamente desde tu terminal.

Powerlevel10k wizard

Al final del wizard tendras una terminal mas personalizada y te sentiras muy feliz :)

Vamos ahora a continuar agregando mas detalles de alto glamour a nuestra terminal.

Algunas alias

Algunos de los comandos que ya ha instalado, de hecho, admiten resaltado de color, por ejemplo: ls, grep y diff. En caso de que desee que estos comandos tengan siempre la opción de color habilitada, puede escribir alias en su archivo de configuración de terminal (.bashrc /.zshrc) para forzarlos.



alias l='ls -l'
alias la='ls -a'
alias lla='ls -la'
alias lt='ls --tree'
alias cat=ccat

Enter fullscreen mode Exit fullscreen mode




Personalizaciones de Zsh

Zsh es un shell mucho más configurable con toneladas de complementos y temas que harán que su terminal se vea increíble e incluso mejorará su flujo de trabajo. Para este shell, las posibilidades de personalización son casi ilimitadas, por lo que ahora simplemente explicaré la configuración que uso.

Una diferencia clave de Zsh es que no viene con configuraciones preconfiguradas como otras conchas como bash o fish, por lo que sugeriría copiar algunas de mis configuraciones como punto de partida, particularmente si lo está instalando por primera vez.

Configurar combinaciones de teclas - keybindings

Una de las primeras cosas que noté rápidamente al usar Zsh es que muchas de las teclas y atajos a los que estaba acostumbrado, viniendo de bash, no funcionarían en absoluto o provocarían comportamientos inesperados. Incluso las teclas HOME y END no funcionaron. Así que aquí tienes toda la configuración de combinación de teclas que uso:


bindkey '^[[2~' overwrite-mode
bindkey '^[[3~' delete-char
bindkey '^[[H' beginning-of-line
bindkey '^[[1~' beginning-of-line
bindkey '^[[F' end-of-line
bindkey '^[[4~' end-of-line
bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word
bindkey '^[[3;5~' kill-word
bindkey '^[[5~' beginning-of-buffer-or-history
bindkey '^[[6~' end-of-buffer-or-history
Enter fullscreen mode Exit fullscreen mode
Enter fullscreen mode Exit fullscreen mode




Complementos útiles

  1. Autosuggestions
    Sugiere comandos a medida que escribe según el historial y las finalizaciones.

  2. Syntax highlighting
    Este paquete proporciona resaltado de sintaxis para el shell Zsh. Permite resaltar comandos mientras se escriben en un indicador de Zsh en un terminal interactivo. Esto ayuda a revisar los comandos antes de ejecutarlos, particularmente para detectar errores de sintaxis.

Con esto hemos terminado de enchular nuestra terminal. ¡Espero que esto haya sido útil y/o te haya hecho aprender algo nuevo!

Profile

@khriztianmoreno

Top comments (3)

Collapse
 
halcolo profile image
Halcolo

Awesome guide, I will save this post for a future new config, thank you.

Collapse
 
d3hvs profile image
David Higuita

Great article, my terminal is more beautiful now
Thanks

Collapse
 
memo56fb profile image
Guillermo Farfan Bivanco • Edited

i love u
my terminal