Ctrl + R y fzf: Los dos secretos que transformarán tu experiencia en la terminal de Linux

Publicada:

Hay dos cosas que nadie te cuenta cuando empiezas a utilizar el terminal de Linux, la línea de comandos: primero, que debes utilizar Crtl + R para acceder al historial de comandos que has ido escribiendo, y segundo, que deberías instalar un pequeño programa llamado fzf para filtrar todos esos resultados en una ventana en la propia Terminal. No te das cuenta de todo el tiempo que te van a ahorrar estos dos trucos hasta que los has probado.

El atajo de teclado que deberías usar: CRTL + R

Todos empezamos en la línea de comandos tecleando una y otra vez las mismas órdenes. Luego nos damos cuenta de que con las flechas de dirección del teclado puedes navegar por esos comandos. Y finalmente alguien nos comenta que deberías usar el atajo de teclado CRL + R para recuperar todos esos comandos. Todos hemos pasado por ello.

¿Qué puedes hacer con CRTL + R?

  • Buscar linealmente en el historial
  • Solo muestra un resultado a la vez
  • No puedes ver el contexto
  • Es lento para historiales grandes

Y de pronto alguien nos presenta fzf en combinación con CRTL + R

Tu terminal con FZF (Fuzzy Finder)

En mi caso, lo he instalado en Linux Mint:

sudo apt install fzf

Pero puedes instalar en otras distros como Fedora con:

sudo dnf install fzf

También en macOS con Homebrew:

brew install fzf

Tienes todas las referencias para diferentes métodos de instalación en el GitHub oficial: https://github.com/junegunn/fzf (también funciona en Windows).

¿Y ya está? Ya está instalado, pero para que funcione en tu shell tienes que ejecutar el siguiente comando:

  • Linux (si usas la terminal en bash): eval «$(fzf –bash)»
  • macOS (si usas la terminal ZSH): source <(fzf –zsh)
  • Si usas fish: fzf –fish | source

¡Ojo! También se puede integrar con VIM (si usas wim-plug):

Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'

¿Cómo usas fzf?

Yo lo suelo utilizar en el terminal. Por ejemplo: quiero buscar todos los comandos relacionados con Docker que he utilizado. Presiono CRTL + R, pongo Docker y automáticamente aparecen los comandos relacionados en la parte superior. Mira la imagen:

Usando fzf en el Terminal con CRTL + R: obtengo mi historial de comandos.

Y ahora puedes navegar con las flechas de dirección de manera visual por todos esos resultados. Esta opción es mucho más rápida que usar el método tradicional (de manera lineal).

También puedes usar el atajo CRTL + T para listar todas las carpetas y archivos del directorio actual, algo que puede ser muy útil para buscar algo determinado:

Con CRTL +T podemos listar directorios y archivos con fzf

¿Teclas y atajos que puedes usar en fzf?

  • CTRL-K / CTRL-J (o CTRL-P / CTRL-N) para mover el cursor hacia arriba y hacia abajo.
  • Tecla Intro para seleccionar el elemento, CTRL-C / CTRL-G / ESC para salir.
  • En modo de selección múltiple (-m), TAB y Mayús-TAB para marcar varios elementos.

También puedes usar el ratón para el desplazamiento y el doble clic para seleccionar.

¿Puede configurar fzf? Claro, tienes varias opciones. Te comento solo dos:

#fzf comenzará debajo del cursor con la altura especificada
fzf --height 40% 

#Puedes comenzar con uno de los estilos predefinidos (default, full, o minimal) utilizando la opción --style.
fzf --style full \
    --preview 'fzf-preview.sh {}' --bind 'focus:transform-header:file --brief {}'

¿Quieres conocer a fondo todo lo que puedes hacer? El comando man es tu amigo:

fzf --man 
man fzf

¿No te convence? Lo puedes desinstalar con estos comandos dependiendo de tu sistema:

  • sudo apt remove fzf
  • sudo dnf remove fzf
  • brew uninstall fzf

Conclusión

¿Te he descubierto un mundo nuevo? A todos nos ha pasado. Nos peleamos usando la línea de comandos de Linux, pero con CRTL + R y fzf, esa fricción que sentimos por usar la terminal va a desaparecer en poco tiempo. Todo lo que hagas va a ser ejecutado más rápidamente. No vas a querer usar la GUI nunca más.

fzf multiplica la eficiencia de Ctrl+R, hace la búsqueda de comandos más visual y te va a ahorrar mucho tiempo si te dedicas a la programación. Junto con Fastfetch, es de esos programas que te alegran el día… y tú sin saberlo.

Resumiendo:

CaracterísticaCtrl+R tradicionalCtrl+R + fzf
VelocidadLentaRápida
VisualizaciónUn comandoLista completa
BúsquedaExactaDifusa
InterfazLínea de comandosInteractiva
NavegaciónFlechasSelección visual
ProductividadBajaAlta
Facilidad de usoMediaMuy fácil
PersonalizaciónLimitadaExtensible

Referencias:


Descubre más desde algoentremanos.com

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Foto del autor

Ivan Benito

Apasionado de la lectura y los viajes, experto en tecnología e informática y fan de la privacidad online. Desde el año 2007 me he dedicado al SEO, a escribir y a crear páginas web con WordPress sobre todo tipo de temáticas. Si tienes alguna duda y necesitas ayuda... ¡Pregúntame!

Si tienes preguntas, quieres que hagamos una review de una app, programa o producto, simplemente mándanos un e-mail mediante nuestro formulario de contacto. Te contestaremos en el menor tiempo posible. ¡Muchas gracias y salU2! Algoentremanos realiza reviews de manera profesional y en muchas ocasiones recibimos compensación de las compañías cuyos productos revisamos. Probamos cada producto a fondo y otorgamos altas calificaciones solo a los mejores. La propiedad de Algoentremanos.com es independiente y las opiniones expresadas aquí son solo nuestras. Algunos enlaces del artículo son afiliados: pueden generar un beneficio a algoentremanos.com. Saber más.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.