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.