fzf Cheatsheet
0.57Búsqueda difusa de todo — archivos, historial, procesos y más
Español: 2026-03-29
fzf es un buscador difuso para tu terminal, y una vez que empieces a usarlo, te preguntarás cómo sobrevivías sin él. Canaliza cualquier cosa hacia él — listas de archivos, ramas de git, IDs de procesos, variables de entorno, literalmente cualquier entrada basada en líneas — y fzf te da una interfaz de búsqueda instantánea, interactiva y tolerante a errores tipográficos. Transforma "desplazarte por 400 líneas de salida entrecerrando los ojos en cada una" en "escribe tres caracteres y ya estás ahí."
La belleza de fzf es que es un filtro Unix. Lee líneas de stdin, te deja elegir una (o varias), y escribe tu selección a stdout. Eso es todo. Ese contrato simple significa que se conecta con todo. Combínalo con find, rg, git, ps, docker, o cualquier cosa que produzca texto, y tienes un selector interactivo gratis. Es la cinta adhesiva de los flujos de trabajo en terminal — excepto que en realidad es elegante.
Este cheatsheet se enfoca en los patrones que usarás constantemente: los comandos básicos, las integraciones de shell que cambiarán cómo navegas tu sistema de archivos, la ventana de previsualización que hace que las selecciones se sientan de lujo, y las recetas del mundo real que convierten a fzf de "juguete interesante" en "infraestructura esencial." Si solo aprendes tres cosas aquí, que sean Ctrl-R, Ctrl-T y la flag --preview. Todo lo demás es bonus.
Uso Básico
Los fundamentos. La mayoría de la gente empieza aquí y nunca se da cuenta de lo profundo que llega.
Sintaxis de Búsqueda
El lenguaje de búsqueda de fzf es pequeño pero sorprendentemente potente. Puedes combinar estos tokens en una sola consulta.
Atajos de Teclado Dentro de fzf
Una vez que fzf está abierto, estas teclas controlan la navegación y selección.
Integraciones de Shell
Estos son los tres atajos que hacen que fzf se sienta como un superpoder. Se conectan directamente a tu shell y funcionan de inmediato después de la instalación.
Ventana de Previsualización
La ventana de previsualización convierte a fzf de un selector en un navegador completo. Puedes previsualizar archivos, código con resaltado de sintaxis, imágenes, diffs de git — cualquier cosa que puedas canalizar a través de un comando.
Patrones Comunes
Estas son las recetas para copiar y pegar que hacen a fzf indispensable. Cada una resuelve un problema real que probablemente enfrentaste esta semana.
Consejos
Configura FZF_DEFAULT_COMMAND para usar fd o rg en lugar del find predeterminado. Son más rápidos, respetan .gitignore y omiten basura como node_modules automáticamente. Prueba export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git' en tu perfil de shell.
Personaliza las integraciones de shell de forma independiente con FZF_CTRL_T_COMMAND, FZF_CTRL_R_OPTS y FZF_ALT_C_COMMAND. Por ejemplo, configura FZF_ALT_C_COMMAND='fd --type d' para que Alt-C use fd para búsqueda ultrarrápida de directorios e ignore automáticamente las entradas de .gitignore.
Pon tus opciones predeterminadas de fzf en FZF_DEFAULT_OPTS para que se apliquen en todas partes. Un buen punto de partida: export FZF_DEFAULT_OPTS='--height 40% --reverse --border --preview-window right:50%:wrap'. Esto te da un diseño compacto, de arriba hacia abajo, con un panel de previsualización en cada invocación.
Usa --bind para agregar acciones personalizadas. Por ejemplo, --bind 'ctrl-y:execute-silent(echo {} | pbcopy)' copia la selección actual a tu portapapeles sin salir de fzf. Puedes vincular cualquier tecla para ejecutar, recargar, previsualizar o cambiar el comportamiento de fzf sobre la marcha.
El comando --preview tiene acceso a marcadores de posición: {} es la línea completa, {1} es el primer campo, {q} es la consulta actual y {n} es el número de línea. Estos te permiten construir previsualizaciones sorprendentemente sofisticadas sin escribir un script wrapper.
Combina fzf con --header para dar contexto amigable a tus scripts personalizados. Algo como git branch | fzf --header "Cambiar a rama:" hace que scripts improvisados se sientan pulidos. Combínalo con --prompt para personalizar también el texto del prompt de búsqueda.
En tmux, fzf puede abrirse en un popup en lugar de en línea. Usa fzf-tmux -p 80%,60% para lanzar fzf en una ventana flotante centrada. Es elegante, no interfiere con tu panel principal y desaparece cuando terminas. Una vez que lo pruebes, fzf en línea se siente apretado.