Mejorando las búsquedas en Vim

Vamos a mejorar un poco las búsqueda de porciones de código dentro de nuestros proyectos y, para ello, vamos a comenzar por la entrada de datos que le damos a fzf. Te presento a ripgrep, una herramienta de búsquedas que tiene un rendimiento increible en comparación con otras parecidas como ugrep o ack. Ripgrep usa el archivo .gitignore por defecto, lo que le dá un enfoque muy práctico para la búsqueda de código. Aquí tienes los diferentes métodos de instalación. Una vez que hayas aplicado el mejor para tu máquina, prueba a ejecutar, por ejemplo, el comando rg return en la carpeta de uno de tus proyectos, donde rg ejecutará ripgrep y return será el criterio de búsqueda. ¡A mí me pareció impresionante, especialmente, por su velocidad!

En Vim, gracias a fzf.vim, puedes darle esta entrada de datos a fzf, con esta capacidad de configuración y velocidad, usando el comando Rg. Seguro que te parece una alternativa mejor a la que te conté en este artículo. Aquí te comenté como instalar fzf.vim.

Es el turno ahora de mejorar las búsquedas de archivos dentro del proyecto. Si compruebas el listado de comandos disponibles con fzf.vim, verás que Files ejecuta el comando que esté definido en la variable de entorno $FZF_DEFAULT_COMMAND y, en su defecto, ejecutará el comando FZF. Un modo de mejorar nuestra búsqueda de archivos es ajustando dicha variable en la configuración de nuesto Shell para que use ripgrep.

export FZF_DEFAULT_COMMAND='rg --files --follow --hidden'

Y ahora sólo resta añadir o modificar nuestro mapa de teclas en la configuración de Vim para usar el comando Files:

nnoremap <C-p> :Files <CR>