> Manuales > Entorno de trabajo del desarrollador web

Configura y personaliza tu terminal basado en bash con Bash-it para adaptarlo a un flujo de desarrollo más optimizado. Usa los plugins de bash-it para obtener más funcionalidades y utilidades de línea de comandos.

Configuración de terminal con Bash-it / iTerm2

En este artículo explicamos cómo personalizar el terminal de línea de comandos, no sólo para adaptarlo a nuestros gustos, sino también para facilitar algunas características que te pueden ayudar en el día a día del desarrollo. Verás que existen multitud de utilidades de personalización sencilla, gracias a Bash-it, que podrán ser del agrado de programadores en distintas tecnologías o administradores de sistemas.

Explicaré cómo realizar los pasos centrándome en Mac OSX, ya que es el sistema donde he realizado este proceso de personalización del terminal, aunque el software que vamos utilizar principalmente, Bash-it, se dispone para múltiples plataformas como Linux o Windows y el modo de uso es generalmente el mismo, según se lee en la documentación.

Básicamente lo que queremos conseguir es que, cuando estás usando el terminal, te diga en qué rama del repositorio Git te encuentras, para ahorrarte algún aprieto haciendo commits a una rama que no tocaba. Además veremos que existen una serie de plugins extra, que te pueden prestar ayudas diversas.

Puedes ver en la siguiente imagen cómo se muestra el terminal una vez personalizado con lo que vamos a explicar en este artículo:

Antes de comenzar, quiero mencionar que el listado de configuraciones que vamos a instalar lo ofrece nuestro amigo y compañero Joan León, también profesor en diversos cursos de EscuelaIT.

Nota para los usuarios de Mac OS X Catalina

El framework descrito aquí, Bash-it está orientado a Bash, que es el tipo de terminal más habitual. Sin embargo, en OS X Catalina han sustituido a Bash por Zsh. Por ello, si quieres que todas estas personalizaciones funcionen tienes que hacer algunas cosas extra.

Una vez, ejecutada la instalación de Bash-it (proceso explicado más abajo) necesitarías cambiar el archivo .bash_profile y renombrarlo por .zprofile. Sin embargo, algunos detalles importantes seguirían sin funcionar.

La acción más definitiva sería reemplazar completamente zsh por bash en tu Mac con Catalina. Existen numerosos tutoriales en Internet que te enseñan los pasos para conseguirlo.

iTerm2

En Mac, una buena alternativa de terminal es iTerm2. Es un terminal muy similar al que viene instalado por defecto en un OS X, pero incluye algunas mejoras, como trabajar por pestañas, tener varios terminales abiertos en diferentes paneles, de modo que se puedan ver a la vez, etc.

Para instalarlo simplemente debes entrar en: https://www.iterm2.com/ y seguir los pasos de descaga e instalación, como en cualquier otra aplicación.

Configuraciones en iTerm2

iTerm2 dispone de la posibilidad de instalar temas y fuentes personalizadas. En realidad te dejamos a ti experimentar. Sin embargo hay un paso fundamental para que todo esto funcione luego, que es que dispongas de la configuración de la fuente Hack.

La fuente la configuras en "iTerm / Preferences / Profiles / Text" pero es importante que tengas configurada tu fuente en dos epígrafes:

En la siguiente imagen puedes ver a qué nos referimos. Pero no te preocupes si no ves todavía las fuentes que vamos a instalar, porque tendrás que descargarlas en un paso posterior explicado en este mismo artículo.

Seguramente en tu propio terminal, en el sistema que te encuentres, tengas la posibilidad de configurar la fuente con otros menús. Pero, de momento, insisto que las fuentes las vamos a tener que configurar un poco después, ya que no las hemos descargado todavía.

Bash-it

Este es el añadido principal que vamos a explicar. Así como iTerm es un terminal específico para Mac OSX, Bash-it es multiplataforma. Te ofrece básicamente un conjunto de comandos adicionales, scripts y plugins para hacer tareas diversas o personalizar el aspecto y funcionalidades de tu terminal.

En el repositorio de Bash-it https://github.com/Bash-it/bash-it encuentras toda la información sobre cómo usar este sistema. Sin embargo, ellos son parcos en palabras, así que vamos a explicarte las mismas cosas aquí, pero un poco más detalladas.

Instalación de Bash-it

Comenzamos instalando el sistema, para lo que tienes que clonar el repositorio de Bash-it.

Este clonado lo puedes hacer de diversos modos. Si conoces Git no tendrás problemas, pero lo puedes conseguir con un comando como este:

git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it
Nota: Obviamente, necesitas disponer de Git instalado en tu sistema. Puedes encontrar más información en DesarrolloWeb.com sobre cómo instalar y configurar Git.

En el comando "clone" anterior, tienes la carpeta donde se va a instalar Bash-it en el último segmento del comando, que sería "~/.bash_it". Eso indica que se va a clonar el repo en tu carpeta personal y en el directorio ".bash_it". Ese directorio es oculto en sistemas Linux y Mac, por lo que no lo verás desde el administrador de archivos (Finder en Mac) y sólo puedas acceder a él vía línea de comandos. Si no te gusta esa carpeta la puedes cambiar perfectamente por otra de tu elección.

Una vez instalado, tenemos que situarnos en tal carpeta y ejecutar el script de instalación. Lo puedes hacer con "cd" para irte a la carpeta donde lo instalaste. Una vez en ella lanzas el comando:

./install.sh

Puedes ahorrarte el comando "cd" indicando la ruta del "install.sh" en el mismo comando. Si el repo lo instalaste en "~/.bash_it", entonces puedes lanzar este comando para ejecutar el script de instalación: "~/.bash_it/install.sh".

Ten en cuenta que "install.sh" es el script "bash" para la instalación de Bash-it. Una vez realizada la instalación tendrás que reiniciar el terminal para que funcione. Por favor, hazlo antes de continuar con este tutorial para no tener problemas.

Instalar un tema en Bash-it

Para instalar un tema de personalización con Bash-it tienes que editar un archivo llamado .bash_profile, donde se indica el nombre del tema que deseas poner.

Este archivo estará en tu sistema. En mi caso está en la carpeta raíz de mi usuario, pero no sé si en Windows o Linux estará en otro lugar.

Los temas disponibles los encuentras en la carpeta "themes" de la instalación de Bash-it. En mi caso "~/.bash_it/themes". Puedes elegir cualquiera de ellos simplemente por su nombre.

Editar el .bash_profile

Para editar este archivo puedes usar tu editor de preferencia. Es un archivo de texto, puedes abrirlo con un editor de interfaz gráfica como Atom, VSCode o Sublime, así como un editor de línea de comandos como "Nano" o "Vim".

Yo personalmente para estas ediciones rápidas suelo usar un editor de línea de comandos que me permite cambiar el fichero sin salir del terminal. Lanzaré el comando "vim ~/.bash_profile". Pero, si no conoces Vim, es un poco lioso de explicar aquí, así que puedes lanzar el comando "atom ~/.bash_profile", que te lo abrirá con Atom (si es que lo tienes instalado en tu sistema).

Una vez abierto el fichero, tienes que buscar la línea que empieza con "export BASH_IT_THEME" y editar el valor al tema que prefieras, en mi caso queda así:

export BASH_IT_THEME='Powerline-multiline'

La aplicación del tema quizás también te obligue a reiniciar el terminal.

Instalar plugins de Bash-it

Ahora vamos a instalar plugins que nos permitan ampliar la funcionalidad del terminal. Tienes un montón de plugins disponibles en Bash-it, que puedes listar con el comando:

bash-it show plugins

Ahora puedes activar los plugins que te gusten con el comando "bash-it enable", seguido del nombre del plugin. En mi caso considero indispensable el plugin de Git, que instalarías así:

bash-it enable plugin git

En tu caso puedes instalar otros plugins de manera adicional. Yo tengo también algunos como "base, battery, node, javascript...". Joan León da un listado de plugins que usa él en el repo que comenté al principio del artículo.

Para ver la ayuda de los plugins instalados puedes escribir este comando:

bash-it help plugins

Te mostrará la ayuda de todos los plugins que hayas activado. Si ves que alguno no te interesa y lo quieres quitar, simplemente lanza el comando "bash-it disable plugin"

bash-it disable plugin git

Instalar Aliases de Bash-it

Entre las muchas cosas que ofrece Bash-it y que irás conociendo, hay algunos aliases interesantes, para multitud de tecnologías.

Por ejemplo, hay uno que es el "ll", que equivale a "ls -la" y que es muy cómodo de usar. Si no me equivoco, este álias está disponible nada más instalar, en la clasificación de "aliases general", por lo que lo podrás usar simplemente con instalar Bash-it.

En cualquier caso, te explicamos cómo instalar aliases de tu preferencia. El primer paso es saber qué aliases están disponibles, con:

bash-it show aliases

Habilitar alguno de los aliases del listado lo consigues con el comando: "bash-it enable alias" seguido del nombre del álias a incluir. Por ejemplo:

bash-it enable alias git

Instalar fuentes para Bash-it

Finalmente, otro paso que habíamos dicho que tendrás que hacer, es proveerte de fuentes pensadas para usar en el terminal. Este paso es importante porque algunos plugins las usan y para que se visualicen bien necesitas un conjunto de fuentes determinado.

Las fuentes que vamos a instalar están disponibles en otro repositorio de GitHub https://github.com/powerline/fonts

Para instalarlo tienes que hacer un clonado y correr el script "install.sh", que harás de manera similar al proceso comentado anteriormente para instalar el Bash-it.

git clone https://github.com/powerline/fonts.git --depth=1

Eso te creará el clonado en una carpeta llamada "fonts", que se habrá colocado como subdirectorio del directorio donde estabas cuando lanzaste el comando. Tendrás que meterte en esa carpeta con:

cd fonts

Luego instalas las fuentes ejecutando el archivo "install.sh", con el comando:

./install.sh

Para acabar puedes borrar el directorio "fonts" con el repositorio recién clonado, pues, instaladas las fuentes, esa carpeta ya no se necesita para nada.

Recuerda que estas fuentes se instalan en tu sistema operativo. Podrías seguir otros pasos para instalar las fuentes si lo prefieres, que podrán depender del sistema que estés usando. Por ejemplo esto te puede venir bien si la instalación con el install.sh no ha funcionado bien en tu caso, o si no quieres que se instalen todas las fuentes incluidas en este repositorio. En las carpetas del repo encontrarás una para cada fuente de las que se van a instalar.

Ya solo te queda asignar la fuente que quieras en tu programa de terminal. En mi caso he configurado una llamada "Hack".

Nota: Ten en cuenta que, para usuarios de iTerm2, necesitas instalar la fuente y la fuente no-ascii, como se explicó anteriormente en este artículo.

Conclusión sobre instalación y configuración de Bash-it

Recuerda que después de estos pasos hay que reiniciar el terminal para que se vean los cambios. Seguramente en todo el proceso lo has tenido que hacer varias veces.

Ahora el terminal de línea de comandos se verá de una manera distinta, que puedes personalizar según tus gustos, tecnologías usadas en el día a día, o intereses. Si además tienes otros programas como editores de código que integran un terminal, es muy probable que estas configuraciones también se adapten al programa. Sin embargo, para editar alguna cosa como las fuentes, quizás tengas que configurar el propio editor de código. Para que veas a qué me refiero, este es el aspecto del terminal de Visual Studio Code una vez instalado y configurado Bash-it.

En el caso particular de VSCode, para definir la fuente tienes que entrar en "preferences" y luego editar el json de preferencias de usuario, colocando la fuente que deseas. Quedará algo como: "terminal.integrated.fontFamily": "Hack"

Te recomendamos ir experimentando con varios plugins y grupos de aliases en Bash-it poco a poco, para ir incorporando esas utilidades y prácticas a tu flujo de trabajo.

Bash-it tiene muchas cosas interesantes, que seguro te facilitarán diversos aspectos de tu trabajo como desarrollador. Espero que los disfrutes.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual