Personalizar el terminal
Como he comentado en mas de una ocasión no soy nada partidario de estar personalizando el escritorio. Prefiero invertir mi tiempo en otros asuntos. Esta es una de las razones por las que desarrollé Daily wallpaper. Para ni siquiera tener que preocuparme de cambiar el fondo de pantalla. Sin embargo, con el terminal es otra cosa. Y esto es probablemente, porque paso mucho tiempo en él, y me gusta que se adapte a mis gustos y necesidades. Así que en este episodio del podcast está dedicado a personalizar el terminal.
Como ya te puedes imaginar, no se trata de pasarte todo el día dedicándote a la tarea de personalizar el terminal. Se trata de personalizarlo y comenzar a producir cuanto antes.
Pero ¿porque personalizar el terminal? Hace algún tiempo, te hubiera dicho que esto realmente no es necesario. Sin embargo, hoy en día, tengo claro que esto es algo necesario, por diferentes razones, pero la primera es por cuidar la vista, algo que ya introduje en un episodio anterior del podcast.
Personalizar el terminal
Como personalizar el terminal
Para personalizar el terminal, voy a tratar tres aspectos. Dos desde el punto de vista de la estética. El tercero de los aspectos, está mas relacionado con la productividad y con las herramientas que puedes utilizar para sacarle mas partido a esta potente herramienta.
El emulador de terminal
El primer paso, sin lugar a dudas es elegir el emulador de terminal. En mi caso como comenté en el episodio 172 del podcast titulado me cambio de terminal, actualmente mi terminal es Alacritty. Básicamente por su rapidez y personalización.
La línea de comandos
El segundo paso, tan importante o mas como el primero es seleccionar el shell o línea de comandos que mas se adecue a tus necesidades. Existen diferentes alternativas, entre las que cabe destacar Bash, zsh y fish. Si quieres conocer mas sobre el shell, te recomiendo que leas el capítulo 1 la línea de comandos del tutorial sobre el terminal.
En mi caso utilizo Bash tanto en el trabajo como en el equipo personal. Y, esto está condicionado básicamente al primero. Aunque podría no estarlo. Pero, este lo tengo potenciado con un framework que me hace la vida más fácil Bash-it. Sobre este framework, ya te hablé en el episodio 16 del podcast titulado disfruta del terminal como si no hubiera un mañana. Pero si quieres saber mas sobre este framework te recomiendo leas el artículo sobre potencial el poder de tu terminal con Bash-it
Temas
Como he comentado en la introducción, si me hubieras preguntado hace algún tiempo sobre esto personalizar el tema del escritorio probablemente te hubiera mandado a esparragar. Sin embargo, hoy en día lo considero algo realmente necesario.
Probablemente, esto de personalizar el esquema de colores del terminal empezara por los temas de Vim, y esto me llevó a hacerlo posteriormente en el terminal. Pero, sea como fuere me parece algo imprescindible.
¿Porque considero que sea algo necesario? Por la comodidad. Si tienes una combinación de colores, donde prácticamente eres incapaz de distinguir el texto del fondo, seguro que se te cansa mas la vista, que si tienes un buen contraste. Igualmente, hay determinadas combinaciones de colores que son mas relajantes que otros.
Como ya te comenté en el episodio 193 sobre proteger tus ojos, los colores que viran al azul ayudan mas a la productividad, mientras que los que viran hacia el rojo, te ayudan a relajarte,
Hasta hace poco estaba trabajando con el tema Drácula. Sin embargo, hace unos días decidí salir a trabajar a la terraza. Allí fuera, este tema, mas buen oscuro, no me venía nada bien. Prácticamente no veía nada. Así, que decidí buscar un nuevo tema, que tuviera dos variantes una clara y otra oscura, para cuando decidiera salir a la terraza.
Desde luego que para trabajar en el interior, un tema como Drácula es fantástico. Sobre todo, porque lo vas a encontrar, no solo pare el terminal, sino también para cualquier editor de código que se te pueda pasar por la cabeza. Pero, el inconveniente, es que no tiene un tema claro, o al menos yo no lo conozco. Así que me decidí a probar otras alternativas.
He probado diferentes opciones sobre todo para su uso con Vim, en particular, para el editor he probado las siguientes,
Al final, me he decantado por gruvbox. Este tiene la ventaja de tener un tema claro y uno oscuro en función del backgroun, y además tiene disponible, un tema de colores para Alacritty, que te dejo disponible a continuación,
# Colors (Gruvbox Material Dark Medium)
colors:
primary:
background: '0x282828'
foreground: '0xdfbf8e'
normal:
black: '0x665c54'
red: '0xea6962'
green: '0xa9b665'
yellow: '0xe78a4e'
blue: '0x7daea3'
magenta: '0xd3869b'
cyan: '0x89b482'
white: '0xdfbf8e'
bright:
black: '0x928374'
red: '0xea6962'
green: '0xa9b665'
yellow: '0xe3a84e'
blue: '0x7daea3'
magenta: '0xd3869b'
cyan: '0x89b482'
white: '0xdfbf8e'
Fuentes
Otro punto realmente importante son las fuentes. Evidentemente me refiero a las fuentes para el terminal. Fuentes mono espaciadas. En este caso, llevo desde hace bastante tiempo probando diferentes fuentes y combinaciones. Te recomiendo que le des un vistazo al artículo sobre tipografía para escribir código, que he actualizado recientemente al incorporar nuevas fuentes, entre las que se encuentra la que estoy utilizando recientemente.
En el artículo que menciono anteriormente, puedes encontrar una docena de tipografías especialmente pensadas para el terminal, y un paquete para instalarlas directamente en Ubuntu, Linux Mint, etc. Entre las fuentes, que he añadido a este paquete quiero destacar dos en particular,
- Cascadia Code. Se trata de una fuente creada por Microsoft, y liberada bajo licencia SIL Open Font License 1.1, pensando en la aplicación de Windows Terminal, y como te puedes imaginar está especialmente recomendada para su uso con emuladores de terminal y editores de texto, como puede ser el mismo Visual Studio Code, o el maravilloso Vim. Una de las características que soporta esta fuente, y a la que me estoy aficionando mucho en los últimos tiempos, son las ligaduras.
- JetBrains Mono. Esta segunda fuente, está creada por los desarrolladores de JetBrains, y destaca porque la altura de los caracteres en minúsculas son lo mas alto posible, para de esta forma facilitar la lectura. Por supuesto, al igual que sucede con el caso anterior, también tiene ligaduras. Se trata de una fuente liberada bajo licencia Apache 2.0.
Yo hasta hace muy poco estaba utilizando Hack. Pero actualmente, me he decantado por JetBrains Mono, y ciertamente estoy realmente encantado. Para programar o para escribir, me resulta realmente cómoda.
Herramientas
Respecto al tema de las herramientas para el terminal, como ya te comenté en el episodio 195 sobre lógica difusa en el terminal, no soy muy partidario de instalar herramientas para el terminal, porque cuando los busco en otros dispositivos no las encuentro.
Sin embargo, esto no quita a que en mi equipo personal, instale diferentes herramientas, para probarlas, y en su caso, y siempre que sea posible instalarla en el equipo del trabajo.
Así, además de fzf y los complementos necesarios para sacarle el máximo partido, también te quiero comentar algunas otras opciones que seguro te van a ser verdaderamente interesantes.
jump
jump esta herramienta es como un cd
con inteligencia. Se trata de una herramienta que va aprendiendo de tus hábitos, registrando el paso por los diferentes directorios que frecuentas, para que la próxima vez que quieras regresar, esto te resulte mucho más sencillo.
La instalación es tremendamente sencilla, simplemente ejecuta las siguientes instrucciones en un terminal,
wget https://github.com/gsamokovarov/jump/releases/download/v0.30.1/jump_0.30.1_amd64.deb && sudo dpkg -i jump_0.30.1_amd64.deb
Una vez instalado el paquete deb
, tienes que añadir eval $(jump shell)
en el archivo ~/.bashrc
.
Una vez instalado tienes que utilizar j
para utilizar esta herramienta. El comportamiento por defecto de jump
es encontrar el directorio al que quieres ir utilizando de nuevo la lógica difusa para ello.
thefuck
¿Cuantas veces te has equivocado al escribir un comando? A mi me ha pasado en innumerables ocasiones. Eso sinceramente me molesta, pero o que mas me molesta todavía, es tener que escribirlo nuevamente. Para resolver parcialmente este problema, aunque solo sea la parte de volver a escribir tienes una herramienta como The Fuck.
Esta herramienta te ayuda en estas situaciones que te acabo de comentar a corregir errores. Por ejemplo, si ejecutas ls-la
seguro te devolverá un error. Pero si escribes, fuck
, te mostrará diferentes opciones para que vuelvas a lanzar el último comando, pero correctamente claro.
Esta todavía es mas sencilla de instalar que la anterior, porque se encuentra en los repositorios oficiales de Ubuntu. Así, tan solo tienes que ejecutar la instrucción, sudo apt install thefuck
.
Una vez instalada, añade eval $(thefuck --alias)
en el archivo ~/.bashrc
.
tldr
Seguro que conoces la ayuda que tienes disponible para el terminal man
. Sin embargo, en muchas ocasiones, esta información es tan detallada que te terminas por perder. En estos casos, puedes recurrir a una segunda herramienta que te va a simplificar la ayuda. Se trata de tldr. Se trata de una ayuda simplificada.
Puedes encontrar información sobre esta herramienta en el tutorial sobre el terminal, en el capítulo dedicado a la ayuda en el terminal. También, puedes encontrar más información en el artículo sobre tldr que escribí hace ya algún tiempo.
Conclusión
Seguro que en futuros episodios del podcast, te daré mas pinceladas para mejorar o por lo menos para personalizar todavía mas, si cabe tu terminal. En este caso, no se trata del aspecto estético, que también, sino de mejorar la productividad de esta herramienta, tan productiva ya de por si.
Más información,
Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.
Imagen de portada de Markus Spiske en Unsplash
La entrada Personalizar el terminal aparece primero en El atareao.