fzf Cheatsheet
0.57Busca fuzzy para tudo — arquivos, histórico, processos e mais
Português: 2026-03-29
fzf é um fuzzy finder para o seu terminal, e quando você começa a usar, vai se perguntar como sobreviveu sem ele. Pipe qualquer coisa nele — listas de arquivos, branches do git, IDs de processos, variáveis de ambiente, literalmente qualquer input baseado em linhas — e o fzf te dá uma interface de busca instantânea, interativa e tolerante a erros de digitação. Ele transforma "rolar 400 linhas de output apertando os olhos em cada uma" em "digitar três caracteres e pronto."
A beleza do fzf é que ele é um filtro Unix. Ele lê linhas do stdin, deixa você escolher uma (ou várias), e escreve sua seleção no stdout. Só isso. Esse contrato simples significa que ele se conecta a tudo. Combine com find, rg, git, ps, docker, ou qualquer outra coisa que produza texto, e você tem um seletor interativo de graça. É a fita adesiva dos workflows de terminal — só que na verdade é elegante.
Este cheatsheet foca nos padrões que você vai usar constantemente: os comandos principais, as integrações com o shell que vão mudar como você navega no seu sistema de arquivos, a janela de preview que faz seleções parecerem luxuosas, e as receitas do mundo real que transformam o fzf de "brinquedo legal" em "infraestrutura essencial." Se você só aprender três coisas aqui, que sejam Ctrl-R, Ctrl-T e a flag --preview. Todo o resto é bônus.
Uso Básico
Os fundamentos. A maioria das pessoas começa aqui e nunca percebe quão fundo o buraco do coelho vai.
Sintaxe de Busca
A linguagem de busca do fzf é pequena mas surpreendentemente poderosa. Você pode combinar esses tokens em uma única consulta.
Atalhos de Teclado Dentro do fzf
Uma vez que o fzf está aberto, essas teclas controlam navegação e seleção.
Integrações com o Shell
Esses são os três atalhos que fazem o fzf parecer um superpoder. Eles se conectam diretamente ao seu shell e funcionam imediatamente após a instalação.
Janela de Preview
A janela de preview transforma o fzf de um seletor em um navegador completo. Você pode visualizar arquivos, código com syntax highlighting, imagens, diffs do git — qualquer coisa que possa passar por um comando.
Padrões Comuns
Essas são as receitas prontas para copiar e colar que tornam o fzf indispensável. Cada uma resolve um problema real que você provavelmente enfrentou esta semana.
Dicas
Defina FZF_DEFAULT_COMMAND para usar fd ou rg em vez do find padrão. Eles são mais rápidos, respeitam o .gitignore e pulam lixo como node_modules automaticamente. Tente export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git' no seu perfil de shell.
Customize as integrações do shell independentemente com FZF_CTRL_T_COMMAND, FZF_CTRL_R_OPTS e FZF_ALT_C_COMMAND. Por exemplo, defina FZF_ALT_C_COMMAND='fd --type d' para que Alt-C use fd para busca ultrarrápida de diretórios e ignore automaticamente entradas do .gitignore.
Coloque suas opções padrão do fzf em FZF_DEFAULT_OPTS para que se apliquem em todo lugar. Um bom ponto de partida: export FZF_DEFAULT_OPTS='--height 40% --reverse --border --preview-window right:50%:wrap'. Isso te dá um layout compacto, de cima para baixo, com painel de preview em toda invocação.
Use --bind para adicionar ações personalizadas. Por exemplo, --bind 'ctrl-y:execute-silent(echo {} | pbcopy)' copia a seleção atual para o clipboard sem sair do fzf. Você pode vincular qualquer tecla para executar, recarregar, visualizar ou mudar o comportamento do fzf em tempo real.
O comando --preview tem acesso a placeholders: {} é a linha completa, {1} é o primeiro campo, {q} é a consulta atual, e {n} é o número da linha. Esses permitem construir previews surpreendentemente sofisticados sem escrever um script wrapper.
Combine fzf com --header para dar contexto amigável aos seus scripts personalizados. Algo como git branch | fzf --header "Trocar para branch:" faz scripts descartáveis parecerem polidos. Combine com --prompt para personalizar o texto do prompt de busca também.
No tmux, o fzf pode abrir em um popup em vez de inline. Use fzf-tmux -p 80%,60% para iniciar o fzf em uma janela popup flutuante centralizada. É elegante, fica fora do seu pane principal e desaparece quando você termina. Uma vez que experimentar, fzf inline vai parecer apertado.