656 - Configurar el gestor de archivos más rápido de Linux
#yazi es un gestor de archivos ligero y muy muy rápido para la terminal de #linux. Puedes personalizarlo utilizando #lua como lenguaje de scripting
Hay que ver lo que nos gusta el cacharreo. Si lugar a dudas esto está directamente relacionado con mi pasión por Linux, y con editores como Neovim. Y por supuesto que está relacionado directamente con programación. Pero no solamente esto. Seguro que te pasa con otros editores de código como Visual Studio Code, y por supuesto con los navegadores como Firefox o Chrome. Y es que, todo de lo que te estoy hablando tiene algo en común, y son los complementos. Y es que los complementos te permiten personalizar el comportamiento de cualquier aplicación y adaptarla exactamente a tus necesidades. No me lo puedes negar, te apasionan los complementos, al igual que te apasionan las apps de tu móvil. Puedes pasar toda una tarde de domingo, instalando y desinstalando aplicaciones en tu móvil o instalando y probando complementos en tu navegador de referencia. Y si además, puedes programar tus propios complementos esto ya roza el éxtasis. Todo esto, te lo cuento por Yazi, el gestor más rápido de Linux, que también admite complementos y que los puedes programar en Lua, lo mismo que con Neovim. En este episodio, te quiero hablar de Yazi, como lo puedes configurar el gestor de archivos más rápido de Linux, y porque yo he terminado programando un par de complementos para adaptarlo precisamente a mis necesidades.
Configurar el gestor de archivos más rápido de Linux
Sobre Pixabay Searcher
Hace algunos episodios te conté que estaba desarrollado una extensión para GNOME Shell, llamada Pixabay Searcher, que te permitía realizar búsquedas en Pixabay y descargar imágenes, directamente desde un indicador de GNOME. Todo esto venía, si recuerdas por mi cambio de Unsplash a Pixabay, y sobre todo después de descubrir que Pixabay tenía una fantástica API.
Lo cierto es que todavía no he terminado con esta extensión, aunque realmente le queda muy poco. Le queda configurar el directorio de descarga, pero sobre todo la experiencia de usuario, que ahora mismo es bastante desastrosa. Y te cuento, por que son dos cambios fundamentales los que tengo que implementar,
- ¿Está buscando?. Cuando introduces algún término de búsqueda y pulsas
enter
realmente no sabes si está buscando, no está buscando, si ha encontrado algo o no ha encontrado nada. Esto es algo que tengo que corregir imperiosamente. - ¿Está descargando?. El siguiente problema es similar, y es al hacer clic en el botón de descarga de una imagen de Pixabay. No sabes si estás descargando o no está descargando. Y ahora, tampoco sabes si está convertiendo la imagen o no la está convirtiendo.
De verdad que estos dos aspectos los tengo que corregir antes de publicarlo en las extensiones de GNOME Shell, porque realmente es muy extraña la sensación de no saber si está o no descargando.
Por el resto, la extensión funciona perfectamente, y es muy útil. Sobre todo cuando he resuelto el problema al que me enfrentaba de el formato de descarga.
Sobre el formato de descarga
Resulta que en Pixabay las imágenes pueden estar en distintos formatos. Así, cuando descargas cualquier imagen puede estar en formato JPG, PNG, WEBP, etc.
Esto no es mayor problema, porque al fin y al cabo, una vez descargada la imagen siempre la puedes convertir al formato que quieras. La cuestión es que para la miniaturas de los episodios yo utilizo un script en fish que busca una imagen JPG en el directorio de descargas, y esto no me dí cuenta hasta que el otro día después de pensar que fallaba el script encontré que la imagen que había descargado era WEBP.
Y ¿que tiene que ver todo esto con Yazi, gestor de archivos más rápido de Linux?. Sencillo. Utilizo Yazi para gestionar los archivos y para previsualizar el contenido tanto de documentos como de imágenes, directamente en la terminal. Y fue precisamente Yazi quien me cantó el problema, porque los cambios que se producen se muestran en tiempo real en el propio gestor de archivos, y fue en ese momento cuando vi aparecer ese archivo en formato webp.
Sobre Yazi
A Yazi le dediqué un vídeo, a principios de este año. Un vídeo que titulé Yazi, el gestor de archivos más rápido de Linux. Y en el que te contaba como instalarlo, y como utilizarlo. Y es que, Yazi es un gestor de archivos que se ejecuta en la terminal, y que te permite ver el contenido de los archivos directamente en la terminal, sin necesidad de abrir un editor de texto o un visor de imágenes. Y lo mejor de todo es que es muy rápido, y que admite complementos. Y es precisamente esto último lo que me ha llevado a escribir este episodio.
Yazi es un gestor de archivos rápido y minimalista diseñado para la línea de comandos en Linux. Está inspirado en otros gestores de archivos ligeros como ranger
, y su enfoque está en la simplicidad y la velocidad. Algunas características clave de Yazi son:
- Navegación por teclado. Diseñado para ser eficiente usando únicamente atajos de teclado.
- Interfaz basada en texto. Perfecto para usuarios que prefieren trabajar en la terminal.
- Extensibilidad. Admite configuraciones personalizadas mediante scripts.
- Rendimiento optimizado. Especialmente útil en sistemas con recursos limitados.
Por supuesto, no se me escapa decirte que es un gestor de archivos que está implementado en Rust.
Un aviso a impacientes. Indicar que Yazi está en un desarrollo activo. Esto implica que determinadas configuraciones dejen de funcionar o pasen a mejor vida. Esto ya me ha pasado en mas de una ocasión, y me pensado en los antepasados del desarrollador. Pero bueno, es lo que tiene el software libre, y el software en desarrollo.
Otros gestores de archivos similares
Como te digo el funcionamiento de Yazi es similar a otros gestores de archivos para la terminal como ranger. Tengo que decirte que en su día probé ranger, pero no terminé de acostumbrarme a su uso. Siempre me han gustado los gestores de archivos del tipo de dos paneles, y me parecía que ranger le faltaba algo así.
Ahora después de mas de una año de uso de Yazi, me doy cuenta, que el problema es que no había comprendido su uso, y las ventajas que ofrece. Pero ahora con Yazi, y después de descubrir el potencial que ofrecen los complementos, la cosa ha cambiado.
Awesome Yazi
Como no podía ser de otra forma, para Yazi, también existe una lista awesomica, parafraseando a Daniel Primo. Y es que, en la lista de awesomica de Yazi, puedes encontrar una serie de complementos que te permiten ampliar las funcionalidades de Yazi. Desde previsualizadores, complementos que te permiten personalizar el aspecto estético de Yazi, hasta complementos que te permiten realizar acciones sobre los archivos.
Igual que te he mencionado anteriormente, te tengo que advertir que si ya pasa con la propia configuración de Yazi, todavía pasa mas con lo complementos. Me refiero a la compatibilidad con versiones anteriores y el continuo y frenético desarrollo en el que se encuentra este fantástico gestor de archivos.
Al revisar los distintos complementos que había en esta lista awesomica he visto que había algunos complementos que permitía realizar determinadas acciones sobre archivos… En ese momento caí en Nautilus Image Tools un complemento que desarrollé en su día para el gestor de archivos por defecto de GNOME y todo fue un torrente de ideas.
Y es que, el problema que estaba teniendo con las imágenes descargadas con Yazi, lo podía resolver fácilmente con un complemento que me permitiera convertir de cualquier formato a jpg
. Así que dicho y hecho. he implementado una extensión para Yazi que convierte las imágenes entre distintos formatos.
Se trata de una solución muy sencilla, simplemente utiliza magick
para convertir las imágenes, pero es una solución que me ha permitido resolver el problema de las imágenes descargadas de Pixabay. Y como te puedes imaginar, es la misma solución que he utilizado para resolver el problema en la propia extensión.
Instalación de complementos en Yazi
Algo que cada vez es mas frecuente, es utilizar GitHub como repositorio de complementos. Esto lo puedes ver en Vim y Neovim, y por supuesto también lo puedes ver en Yazi. Así, por ejemplo para instalar el complemento es tan sencillo como ejecutar el siguiente comando,
ya pack -a atareao/convert
Y con esto ya tienes el complemento instalado. Si quieres ver los complementos que tienes instalados, simplemente tienes que ejecutar el siguiente comando,
ya pack -l
Ahora mismo en mi caso tengo lo siguiente,
plugins:
atareao/mdcat (d82f690)
atareao/convert (ca88f17)
yazi-rs/plugins:full-border (71c4fc2)
flavors:
yazi-rs/flavors:catppuccin-frappe (8458d25)
kmlupreti/ayu-dark (441a38d)
mdcat
Otro complemento que he implementado es mdcat
que es el primo hermano de glow
, pero que en lugar de utilizar esta herramienta implementada en go
utiliza mdcat
, como ya te habrás imaginado, implementada en rust
. Me gusta mas el renderizado que hace mdcat
de los archivos markdown
. Pero salvo este detalle el funcionamiento es exactamente el mismo.
Igual que en el caso anterior, para instalarlo tienes que utilizar el siguiente comando,
ya pack -a atareao/mdcat
¿Mas complementos?
Lo cierto es que no he probado mas complementos. Es mas, te dejo deberes para la tarde del domingo, para que pruebes el propio Yazi y todos los complementos que tienes disponible en la lista awesomica.
Sin embargo, si que te tengo que confesar que me he quedado con ganas de hacer mas complementos. En particular, uno para hacer renombrado masivo a partir de una expresión regular, y traerme algunos de los que utilizaba para la composición de PDF. Pero, esto es harina de otro costal que lo dejo para mas adelante. Ahora mismo, tengo bastantes frentes abiertos con las extensiones como para meterme con mas historias.
Flavors
Otra cuestión que me ha llamado mucho la atención son los flavors, que son como los temas pero mas potente. Tengo que confesarte que he intentado hacer el mio propio. Mejor dicho, crear una variante de Ayu Mirage, pero me he quedado en eso. Ya veremos si mas adelante lo vuelvo a afrontar, o lo dejo para otros.
Más información,