Pesquisa de site

Fzf - Uma pesquisa rápida de arquivos difusos no terminal Linux


Fzf é um localizador difuso de linha de comando minúsculo, extremamente rápido, de uso geral e multiplataforma, que ajuda você a pesquisar e abrir arquivos rapidamente nos sistemas operacionais Linux e Windows. É portátil, sem dependências e possui um layout flexível com suporte para plugin Vim/Neovim, atalhos de teclado e preenchimento automático difuso.

O GIF a seguir mostra como funciona.

Para instalar o Fzf, você precisa git clonar o repositório Github do fzf em qualquer diretório e executar o script de instalação conforme mostrado em sua distribuição Linux.

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
cd ~/.fzf/
./install

Depois de executar o script, você será solicitado a ativar o preenchimento automático difuso, as combinações de teclas e atualizar o arquivo de configuração do shell. Responda y (para sim) às perguntas conforme mostrado na captura de tela a seguir.

No Fedora 26 e superior, e no Arch Linux, você pode instalá-lo através de um gerenciador de pacotes, conforme mostrado.

sudo dnf install fzf	#Fedora 26+
sudo pacman -S fzf	#Arch Linux 

Agora que instalou o fzf, você pode começar a usá-lo. Quando você executa fzf, um localizador interativo será aberto; lê a lista de arquivos de stdin e grava o item selecionado em stdout.

Basta digitar o nome do arquivo que você está procurando no prompt. Ao encontrá-lo, clique em Enter e o caminho relativo do arquivo será impresso em stdout.

fzf

Como alternativa, você pode salvar o caminho relativo do arquivo que está pesquisando em um arquivo nomeado e visualizar o conteúdo do arquivo usando um utilitário como o comando cat ou bcat.

fzf >file
cat file
OR
bat file

Você também pode usá-lo em conjunto com o comando find, por exemplo.

find ./bin/ -type f | fzf >file
cat file

Como usar a conclusão difusa em Bash e Zsh

Para acionar a conclusão difusa para arquivos e diretórios, adicione os caracteres ** como uma sequência de acionamento.

cat **<Tab>

Você pode usar esse recurso ao trabalhar com variáveis ambientais na linha de comando.

unset **<Tab>
unalias **<Tab>
export **<Tab>

O mesmo se aplica aos comandos ssh e telnet, para preenchimento automático de nomes de host que são lidos em /etc/hosts e ~/.ssh/config.

ssh **<Tab>

Também funciona com o comando kill, mas sem a sequência de gatilho conforme mostrado.

kill -9 <Tab>

Como ativar o fzf como plugin do Vim

Para ativar o fzf como um plugin do vim, anexe a seguinte linha ao seu arquivo de configuração do Vim.

set rtp+=~/.fzf

fzf está sendo desenvolvido ativamente e pode ser facilmente atualizado para a versão mais recente usando o seguinte comando.

cd ~/.fzf && git pull && ./install

Para ver a lista completa de opções de uso, execute man fzf ou confira seu repositório Github: https://github.com/junegunn/fzf.

Leia também: The Silver Searcher – Uma ferramenta de pesquisa de código para programadores

Fzf é um localizador difuso extremamente rápido e de uso geral para pesquisar arquivos rapidamente no Linux. Possui muitos casos de uso, por exemplo, você pode configurar o uso personalizado para seu shell. Se você tiver alguma dúvida ou comentário, entre em contato conosco através do formulário de feedback abaixo.