Cómo configurar tu terminal para que sea asombrosa en Mac OS y Linux. Con oh-my-zsh y powerlevel10k.

Hace ya más de un año que publicamos un video de cómo configurar la terminal predeterminada en Windows para pasar de esto:

Terminal de comandos PowerShell predeterminada.
Terminal de comandos PowerShell predeterminada.

A esto:

Terminal PomerShell usando "oh my posh".
Terminal PomerShell usando «oh my posh».

Una terminal visualmente más atractiva, y con funciones extras que harán que su uso sea mucho más fácil, rápido y agradable.

Este video te lo dejaré en el siguiente enlace: Cómo configurar tu terminal para que sea asombrosa en Windows.

Mejorar la terminal en Mac OS y Linux.

Ahora es turno de explorar cómo podemos mejorar nuestra terminal, pero en los sistemas operativos Mac OS y Linux (en una distribución Ubuntu).

Esta configuración de la terminal, es una que he usado por lo menos en unos 3 años, y no he hecho más que sumarle algunas funcionalidades para hacer más fácil su uso para mis labores como programador.

Para lograr configurar esta terminal con éxito, usaremos una herramienta llamada oh my zsh. Si quieres ver más sobre esto, puedes explorar su sitio oficial en https://ohmyz.sh/ , que hará que tu terminal pueda verse de esta manera:

Terminal Ubuntu usando oh my zsh.
Terminal Ubuntu usando oh my zsh.

Requisitos.

Para este tutorial vamos a utilizar una terminal de comandos; para este ejemplo, usaremos la terminal predeterminada.


Terminal predeterminada en Ubuntu.
Terminal predeterminada en Ubuntu.

En el caso de Mac OS, puedes usar el gestor Homebrew para poder realizar las instalaciones de paquetes. En caso de que no lo tengas, te dejaré su sitio oficial en este link: https://brew.sh/

Igualmente, dos herramientas que debes de tener instaladas en tu sistema Curl y Git, ya que estas nos ayudarán a obtener los repositorios necesarios para que todo funcione correctamente.

Cambiar la shell a zsh.

Para usar esta herramienta, oh my zsh, primero necesitamos cambiar nuestra Shell. La Shell es un programa que actúa como una interfaz entre el usuario y el sistema operativo. Permite que interactúes con el sistema operativo escribiendo comandos en un terminal o consola.

La Shell predeterminada de nuestra terminal en nuestro sistema, normalmente es una que se llama bash, pero para vamos a optar por usar una que nos permite tener una shell más personalizada que es zsh.

Al cambiar a esta Shell llamada zsh, no percibiremos un cambio de inmediato en el uso de los comandos.  Digamos, que esta extiende más allá de bash, solo tendremos un cambio que te mencionaré durante este tutorial.

Entonces, para instalar, vamos primero a actualizar el listado de nuestros paquetes.

En Ubuntu:

sudo apt update

En MacOs:

brew update

Con esto listo, vamos a instalar zsh.

En Ubuntu:

sudo apt install zsh -y

En MacOs:

brew install zsh

Para asegurarnos que lo hemos instalado correctamente, vamos a tratar de ver la versión que tenemos instalada con:

zsh --version

Si todo ha ido bien, deberemos ver una respuesta como:

zsh 5.9 (x86_64-ubuntu-linux-gnu)

Esto puede variar si ejecutas esto para el sistema operativo Mac OS, ya que no te mostrará Ubuntu, sino información de tu sistema. Con ver que nos muestra el número de la versión, es que ya tenemos correctamente a zsh instalado en nuestro sistema.

Lo siguiente que haremos será cambiar la Shell predeterminada en el sistema, ya que la instalamos, pero seguimos usando bash como la Shell predeterminada. Así que ejecutaremos este comando:

chsh -s $(which zsh)

Este comando va a cambiar la Shell predeterminada, y para que llegues a notar este cambio, tenemos que reiniciar nuestro equipo.

Una vez que hayas reiniciado, verás algo así en tu terminal:

Elegir configuración de zsh.
Elegir configuración de zsh.

Este es lo que nos confirmará que hemos instalado zsh, lo que tenemos que hacer es configurarlo, pero esta pantalla nos da una facilidad que, presionando el número 2, nos rellenará toda una configuración predeterminada:

Terminal usando zsh.
Terminal usando zsh.

Con esto ya notamos algo en nuestra terminal. Si vemos este cambio, es que vamos por buen camino.

Instalar oh my zsh

Ahora sí, pasaremos a instalar oh my zsh. Pero para que puedas ver correctamente los iconos que nos proporciona toda esta personalización, tenemos que instalar una fuente que nos permita ver estos símbolos.

Fuente recomendada | FiraCode Nerd Font

Aquí puedes elegir varias fuentes que te acepten símbolos. Yo te voy a recomendar una que es seguro que te funcione: esta es FiraCode Nerd Font. Esta puede ser descargada en el siguiente enlace:

https://www.nerdfonts.com/font-downloads

Esta fuente debes instalarla en tu sistema y predeterminar que tu terminal use esta fuente.

Seleccionar fuente como predeterminada en la terminal.
Seleccionar fuente como predeterminada en la terminal.

En esta imagen, yo ya he colocado mi terminal con esta fuente.  Dependiendo de tu sistema, deberás instalar esta fuente y usarla en tu terminal.

Mi fuente no se había tomado correctamente en la terminal, por lo que tuve que reiniciar la terminal para que la tomara correctamente.

Instalar oh my zsh y powerlevel10k.

Ahora tenemos que instalar oh my zsh y el tema que usaremos para personalizar nuestra terminal, el cual es powerlevel10k.

Primero instalaremos oh my zsh con el siguiente comando:

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

Al ejecutar este comando, veremos que nuestra terminal ha cambiado a verse así:

oh my zsh instalado correctamente.
oh my zsh instalado correctamente.

Lo siguiente que haremos es instalar powerlevel10k:

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

Una vez que este proceso termine, vamos a poder cambiar nuestro tema en las configuraciones.

Personalizar terminal

Con esto realizado, ya estamos utilizando oh my zsh, pero aún no estamos utilizando el tema powerlevel10k, eso es lo que tendremos que realizar a continuación.

Vamos a tener que editar nuestro archivo de configuración, ese que se generó cuando presionamos el número 2 al instalar, oh my zsh. Igualmente, recuerdas que te comenté que había un cambio muy importante, ahora vamos a explicar qué ha pasado.

Cuando usamos bash, que es la Shell predeterminada, el archivo de configuración al que puedes ir a modificar se encuentra en ~/.bashrc , pero una vez que hemos cambiado a zsh, este archivo pasa a ser ~/.zshrc, entonces si en alguna futura instalación te pide cambiar el archivo ~/.bashrc, tendrás que hacerlo realmente en ~/.zshrc.

Ahora sí, vamos a editar nuestro archivo, y tienes que editar esta línea:

ZSH_THEME="powerlevel10k/powerlevel10k"

Esto lo puedes hacer con el editor de tu preferencia. Normalmente, yo uso el nano con el siguiente comando, pero puedes usar VsCode para modificar este archivo.

nano ~/.zshrc

Este es mi archivo con esta línea modificada:

Tema cambiado en el archivo .zshrc.
Tema cambiado en el archivo .zshrc.

Con esto listo, nos tocará reiniciar la configuración para que pueda leer este cambio. Esto lo lograremos con el comando:

source ~/.zshrc

Y terminando esto, vamos a ver la siguiente pantalla:

Inicio de la configuración de pk10.

Aquí habrás notado que hasta este paso mi fuente cambió. No te apures, noté que tenía un error y mi fuente no se había tomado correctamente, por lo que tuve que reiniciar la terminal para que tomara la fuente correctamente.

Listo, aqui te tocara elegir tu configuracion favorita, puede ser una como la que uso yo, pero puedes experimentar y usar la que tu prefieras, lo siguiente que haremos son solo cambios visuales:

Esta primera pantalla nos pregunta acerca si vemos correctamente los simbolos, la fuente que instalamos nos sirve para ver correctamente estos simbolos:

nos pregunta si vemos un diamante, en mi caso es correcto asi que presionare la tecla y :Listo, aquí te tocará elegir tu configuración favorita, puede ser una como la que uso yo, pero puedes experimentar y usar la que tú prefieras. Lo siguiente que haremos son solo cambios visuales:

Esta primera pantalla nos pregunta acerca de si vemos correctamente los símbolos. La fuente que instalamos nos sirve para ver correctamente estos símbolos.

Nos pregunta si vemos un diamante, en mi caso es correcto, así que presionaré la tecla y :

Paso 2 para la configuración.

Nos vuelve a preguntar si vemos correctamente el símbolo, el cual es un candado. Es correcto, así que presionaré de nuevo la tecla: y

Paso 3 para la configuración.
Paso 3 para la configuración.

Una vez más, pregunta si vemos una flecha, presionaré de nuevo la tecla y:

Paso 4 para la configuración.

En la siguiente nos pregunta a qué número está apuntando la flecha que apunta hacia abajo, en mi caso es un 1, así que presionaré 1:

Paso 5 para la configuración.
Paso 5 para la configuración.

En la siguiente nos pregunta si vemos que los símbolos caben correctamente entre las cruces, lo cual en mi caso no es correcto, estas se sobreponen, así que la opción que me corresponde es n:

Paso 6 para la configuración.
Paso 6 para la configuración.

Aquí comienza y vemos lo interesante, porque podemos elegir ahora cómo queremos ver la terminal. Tenemos 4 opciones, puedes elegir la que tú prefieras. Para este ejemplo, seleccionaré la opción 2 para probar una nueva terminal diferente a la que ya uso:


Seleccionar estándar de codificación de caracteres.
Seleccionar estándar de codificación de caracteres.

En esta pantalla, yo prefiero utilizar la opción Unicode que corresponde a1:

Aquí, dependiendo de qué hayas elegido, verás unas opciones u otras. Ve siguiendo estos pasos hasta terminar estas opciones. Si te equivocas o te arrepientes cómo se ve, puedes reiniciar todo este proceso, presionando la tecla r .

Terminar la configuración.
Terminar la configuración.

Al final verás esta última opción, que es para agregar configuraciones. Yo te recomiendo que, si no has entrado a este mundo, presiones la opción 1 que son las opciones recomendadas, y así no entramos en problemas.

Y después, en la siguiente que veremos, igualmente presionaremos y para guardar todo en nuestro archivo de configuración ~/.zshrc de manera automática.

Y mira lo que ha resultado:

Terminal lista para usarse.
Terminal lista para usarse.

¡La terminal ha cambiado y esta se ve mucho más bella que al inicio!!!

Pluglins

Hasta acá, está todo correcto y podrías seguir con tu terminal hasta este paso, pero ahora te quiero mostrar unos cuantos pluglins que yo he utilizado para mejorar toda mi experiencia y son 3 cosas extras que instalaremos.

Resaltador de sintaxis | syntax-highlighting

El primero nos servirá para resaltar los comandos. Cuando hayas escrito correctamente un comando, lo veremos en color verde:

Comando reconocido correctamente.
Comando reconocido correctamente.

Pero si no existe o está incompleto, lo veremos en color rojo:

Comando no reconocido.
Comando no reconocido.

Te dejaré el repositorio de esta herramienta: https://github.com/zsh-users/zsh-syntax-highlighting

Si quieres instalar este plugin, vamos a traer los archivos con este comando:

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

Lo siguiente es, editar nuestro archivo de configuración ~/.zshrc. Tendremos que agregar este a nuestra sección de plugins. Quedando de esta manera:

plugins=(git
        zsh-syntax-highlighting
  )

Ahora, como hemos cambiado nuestro archivo de configuración, vamos a tener que recargar nuestra configuración con:

source ~/.zshrc

Sugerencias en la terminal | autosuggestions

El siguiente plugin es uno que nos servirá para no escribir todo el comando cuando ya lo hemos escrito anteriormente. Esta personalmente es una de las cosas más útiles que he conocido cuando hablamos del uso de la terminal.

Cuando comencemos a escribir un comando, nos mostrará el último que hayamos escrito:

Sugerencia para completar del comando.
Sugerencia para completar del comando.

Este es el plugin zsh-autosuggestions, dejaré su repositorio: https://github.com/zsh-users/zsh-autosuggestions

Y se instala de la misma manera que el anterior, tendremos que presionar el comando:

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

Y después, añadirlo a nuestro archivo de configuración ~/.zshrc. Tendremos que agregar este a nuestra sección de plugins. Quedando de esta manera:

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

Ahora, como hemos cambiado nuestro archivo de configuración, vamos a tener que recargar nuestra configuración con:

source ~/.zshrc

Mejorar el comando ls | exa

Lo último que haremos, es agregar otro complemento visual, el cual es para ver nuestras carpetas y archivos de una manera más bonita cuando usamos el comando ls.

Aquí podemos usar exa para lograr este objetivo, y si usamos un comando con exa, nuestra lista se vería de la siguiente manera:

Terminal usando comando exa para listar los archivos y carpetas.
Terminal usando comando exa para listar los archivos y carpetas.

Vamos primero a instalar esta herramienta.

En Ubuntu:

sudo apt install exa

Como advertencia, este paquete aún no lo hacen compatible con Ubuntu 24 y para instalar esta herramienta necesitas hacerlo manualmente desde su repositorio de GitHub: https://github.com/ogham/exa

En MacOs:

brew install exa

Una vez instalado, tendrás que agregar unos alias a tu archivo ~/.zshrc. Ahora mismo, te daré 2 que pueden ser útiles:

alias ll='exa -l --group-directories-first --icons'
alias la='exa -la --icons'

Ahora, como hemos cambiado nuestro archivo de configuración, vamos a tener que recargar nuestra configuración con:

source ~/.zshrc

Y listo, como hemos configurado, ahora podrás usar los comandos ll y la.


Con esto hemos terminado este tutorial, y tu terminal debe de verse increíble. Esto, aunque no es necesario, el agregar los plugins y una ayuda visual, siempre nos puede venir bien para poder mejorar un poco nuestro flujo de trabajo.

Si leyendo este tutorial te has encontrado alguna duda o dificultad, lo que te puedo recomendar es tomar nuestro curso Ultimate Linux, en el que aprenderás todo lo que debes saber sobre el mundo Linux y el uso de la terminal.

Cursos de Hola Mundo para aprender a programar

Te dejaremos además el enlace a todos nuestros cursos de programación, los cuales los encontrarás disponibles en la academia Hola Mundo y puedes optar por adquirir los cursos de manera individual en el siguiente link: todos los cursos de Hola Mundo, si prefieres acceso a todo, también puedes elegir un plan de suscripción mensual o anual.

landing academia hola mundo

O igualmente puedes optar por cada curso de manera individual en Udemy.

Biblioteca de Hola Mundo para aprender a programar

Portada Ultimate Python

Pero si tu tipo de aprendizaje se adapta mucho mejor a los libros, igualmente puedes acceder a nuestros títulos para aprender a programar y así armar tu propia biblioteca.

Podrás adquirir estos materiales en Amazon en su versión física y en su versión digital, donde también puedes ver un fragmento en esta misma página de Amazon para que así puedas consultar su contenido.


Y esto ha sido todo de este articulo, si te ha encantado, ¡golpea al botón de me gusta!, dejanos un comentario, y para no perderte nada, no olvides suscribirte a este blog, seguirnos en todas las redes como Youtube, Twitter, Instagram y Tiktok, y por último, te invitamos a escuchar nuestra música «Hola Beats«, diseñada para ayudarte a concentrarte y acompañarte en tu aprendizaje o trabajo, la puedes encontrar en Spotify, Apple Music, Amazon Music, Youtube Music y Deezer.

¡Hasta la próxima!, y chao mundo

Gabriel Hernández

Soy desarrollador fullstack autodidacta y estudié administración en la universidad. Mi stack es principalmente con JavaScript, haciendo frontend con React y Next, y backend con Node y Express. Otras herramientas con las que he trabajado son Python para backend y Solidity para desarrollo de contratos inteligentes.

Comments (1)

Deja un comentario

Press ESC to close

Descubre más desde Hola Mundo

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo