Vifm, un gestor de archivos Vim
Nunca me he parado a pensar en la cantidad de exploradores de archivos que existen. Pero, lo que si te puedo asegurar es que hay muchos. De todos los gustos y colores. Los tienes con interfaz gráfico y para utilizar con el terminal… Todo lo que te puedas imaginar, ahí lo tienes. Por supuesto, y como no podía ser de otra forma, también tienes un explorador de archivos para usuarios de Vim. Esto es algo inevitable. Y, aprovechando el tutorial de Vim, no he podido resistirme a dedicar un artículo a Vifm. Un gestor de archivos Vim.
Llegados a este punto, es posible que te preguntes ¿que ventaja tiene un gestor de archivos Vim?¿para que un gestor de archivos con los atajos de teclado típicos de Vim? Pues precisamente esa es la respuesta. Ya que has hecho el esfuerzo de controlar, los atajos de teclado de Vim, hay que sacarle provecho y utilizarlo para todo lo que puedas.
Así en ocasiones, te puedes encontrar en la situación de buscar la j
o la k
, para indicarle al ascensor que quieres bajar o subir… Bromas aparte. Lo cierto, es que una vez conoces esos atajos de teclado, lo mejor es sacarle el máximo provecho posible, y esa es la razón de Vifm.
Vifm, un gestor de archivos Vim
Aunque durante todo el artículo relaciono Vifm con Vim, lo cierto es que sería mas exacto relacionarlo con Vi. Sin embargo, no puedo lo puedo evitar, dado que Vim es la niña de mis ojos. Sepan disculparme los mas puristas, y los amantes de Vi. Conste que me refiero, en todo caso a ambos editores, tanto Vi, como Vifm.
Por otro lado, quiero llamar tu atención sobre el hecho de que este gestor de archivos no es intuitivo, a menos que estés familiarizado con Vim. Al igual que sucede con Vim tiene una fuerte curva de aprendizaje, con lo que no te desesperes. Claro que, todo esfuerzo tiene su recompensa, y una vez, conozcas el funcionamiento de este gestor de archivos conseguirás ser mucho mas productivo.
¿Que es Vifm?
Como ya te he adelantado en la introducción del artículo, Vifm, es un gestor de archivos con interface implementado utilizando curses. Si no lo conoces, indicarte que curses es una librería que facilita el desarrollo de interfaces en terminal. La librería curses, es original de BSD UNIX, pero los sistemas Linux, facilitan esta funcionalidad a través de la librería ncurses.
Vifm, no es la única aplicación que utiliza los atajos de teclado y el comportamiento de Vim. El gestor de correo mutt, también tiene hace gala de este comportamiento.
De esta manera si eres usuario de Vim, Vifm, te da con el teclado, el control absoluto sbre tus archivos y directorios, sin necesidad de aprender nuevos comandos. Con lo que ya sabes de Vim es mas que suficiente, para dominar tus archivos.
Si todavía no has utilizado Vim, indicarte que para salir de Vifm, tienes que utilizar :q
desde el modo normal. Si por lo que fuera has caído en el modo insertar, vuelve al modo normal con la tecla Esc
, y a continuación utiliza :q
.
Los movimientos básicos
A continuación encontrarás los movimientos básicos, que verás están completamente relacionados con Vim,
k
,gk
,Ctrl+p
te desplazas una línea arribaj
,gj
,Ctrl+n
igual que el anterior, pero una línea abajoh
ogh
subes un directoriol
ogl
oEnter
si estás sobre un directorio entrarás en él, y si te encuentras sobre un archivo lo ejecutas o lo muestras, o lo editas, dependiendo de la aplicación que tengas asociado a ese archivo. Así, por ejemplo, si se trata de un archivo de texto plano lo abrirás con Vim, mientras que si es una imagen, lo abrirás con GNOME Photos, o con la aplicación que tengas predeterminada.gg
te mueve a la primera líneaG
te lleva a la última líneaH
te lleva a la primera línea de la ventanaM
te moverá a la linea que se encuentre en el centro de la ventanaL
te desplazará a la última línea de la ventana
Estos no son mas que algunos de los atajos de teclado que tienes a tu disposición, por supuesto que tienes muchos mas, y te invito a que les des un repaso. Aunque, si conoces los atajos de Vim, con un poco de intuición, comprenderás las acciones de Vifm.
Por supuesto, todos estos movimientos los puedes combinar con números, de forma que si utilizas 3j
, te moverás tres líneas hacia abajo, tal y como haces con Vim. Por eso te digo, que para el usuario de Vim, es totalmente intuitivo.
Manipulación de paneles
Vifm viene por defecto con dos paneles, lo que en Vim se llaman ventanas. Estos dos paneles o ventanas están situados uno al lado del otro. A continuación te indico algunos atajos de teclado, que igualmente son similares a los de Vim, para que sepas como trabajar con ellos,
Ctrl+w w
cambias al otro panelCtrl+w o
cierras el panelCtrl+w s
cambia la disposición de los paneles de forma que uno estará arriba y otro abajo.Ctrl+w v
igual que en el caso anterior, pero la disposición será vertical, uno al lado del otro.
De cualquier forma, no necesitas aprender todos estos atajos de teclado de memoria, si pulsas Ctrl+w
aparecerá una pequeña ayuda, donde encontrarás las posibles combinaciones a realizar.
Búsquedas
Por supuesto, al igual que haces con Vim, con Vifm también tienes la posibilidad de hacer búsquedas utilizando expresiones regulares. Y al igual que haces con Vim, también las puedes hacer en sentido directo, utilizando /
, como en sentido inverso, utilizando ?
. A partir de aquí, utilizando n
o N
te irás desplazando entre los resultados hacia adelante o hacia atrás.
Filtros
Existen tres filtros básicos,
- filtros correspondientes a los archivos que comienzan por un punto, los dot files.
- los permanentes
- filtros locales
Esto de los filtros tiene un gran potencial, porque te va a permitir trabajar única y exclusivamente, con los archivos y directorios que necesites. Los filtros lo que hacen es ocultar aquello que no quieras ver. Puedes trabajar de forma específica sobre archivos, o directorios o ambos.
Los atajos de teclado para trabajar con filtros en Vifm, son los mismos que los atajos de teclado para trabajar con pliegues en Vim, tal y como te comenté en el capítulo sobre pliegues en Vim. Por otro lado, si pulsas z
y esperas un segundo, aparecerá un cuadro de diálogo con todas las posibilidades de los atajos de teclado para filtros. Algunos de estos atajos de teclado son los siguientes,
za
alterna entre mostrar y ocultar los ficheros ocultos, los dot fileszf
añade el archivo seleccionado a los filtros permanenteszO
resetea los filtros permanentes
En cuanto a los filtros, a continuación te indico algunos ejemplos, para que veas las posibilidades que ofrece,
:filter /^[^D].*/$/
oculta todos los directorios que no comiencen porD
:filter /^[^D].*/?$/
oculta todos los archivos y directorios que no comiencen porD
Registros
Otra de las características que Vifm hereda de Vim son los registros. En el tutorial de Vim dediqué un capítulo a los registros y todas sus posibilidades, y todo lo que allí comenté lo puedes aplicar con Vifm.
Selectores y operaciones
Las operaciones básicas que puedes realizar con Vifm, son las mismas que puedes realizar con cualquier otro gestor de archivos,
- borrar utilizando
d
odd
- copiar utilizando
y
oyy
También tienes otras muchas operaciones interesantes como es convertir a minúsculas, gu
o convertir a mayúsculas gU
, entre otras. De nuevo puedes ver las opciones disponibles pulsando g
y esperando un segundo se mostrará un cuadro de diálogo con todas las opciones.
Todas estas opciones las puedes repetir al igual que haces en Vim precediendo la operación con un número. Así, por ejemplo, 5yy
copiará el archivo sobre el que te encuentras y los cuatro siguientes.
De la misma manera, si utilizas dj
borras la línea en la que te encuentras y la siguiente o con d2j
las dos siguientes. Pero además tienes 3 opciones adicionales,
a
son todos los archivoss
los archivos seleccionadosS
todos los archivos excepto los seleccionados
Para borrar todos los archivos simplemente tendrías que utilizar da
.
Los otros modos de Vifm
Además del modo normal, Vifm, también dispone de un modo visual. Un modo al que puedes acceder utilizando v
, y desde el que seleccionar archivos y directorios es tan sencillo como utilizar las teclas j
y k
.
Y de la misma manera, también puedes encontrar el modo de línea de comandos, con el que entre otras cosas puedes añadir filtros, o ejecutar diferentes comandos directamente, sin necesidad de moverte, tal y como comenté en Vim.
Conclusión
Como te puedes imaginar y ya as podido leer, este artículo no es mas que la punta del iceberg de las posibilidades que te ofrece este gestor de archivos. Como te he indicado anteriormente, le tienes que dedicar un tiempo a su conocimiento para poder comenzar a exprimirlo. Desde luego, si ya te manejas con Vim, este tiempo será menor, pero, no lo debes despreciar.
De cualquier forma, y como he comentado en la introducción, este no es mas que otro de los muchos gestores de archivos que puedes encontrar en el ecosistema de Linux. Es decir, que si no te convence, o no consigues sacarle todo el potencial que tiene, no te preocupes, simplemente selecciona otra y disfruta.
Más información,
Imagen de portada Omid Kashmari en Unsplash
La entrada Vifm, un gestor de archivos Vim aparece primero en El atareao.