Esses truques do fzf transformarão a forma como você usa o terminal Linux

por Nada Em Troca
1 minutos de leitura
Esses truques do fzf transformarão a forma como você usa o terminal Linux

O terminal é desajeitado e ineficiente sem personalizações adicionais. Se você é iniciante, pode achar que isso é o melhor que existe, mas não é. Uma ferramenta em particular se destaca e pode melhorar drasticamente a sua experiência. Descrevo vários motivos pelos quais o fzf é minha ferramenta de terminal favorita.

O que é fzf e por que é incrível?

O comando fzf é uma ferramenta para realizar pesquisas rápidas em grandes listas de itens. Isso pode não parecer muito atraente, mas como você normalmente pesquisa um grande número de opções no terminal? Por exemplo, ao escolher um caminho de arquivo entre milhares de outros – como você consegue isso? Você tem dificuldade para completar a tabulação ou executa algum tipo de acrobacia desajeitada no terminal? Nenhuma das duas é uma escolha adequada e o fzf aborda esse problema diretamente.

Uma janela de terminal mostra o usuário pesquisando um arquivo de texto usando os comandos cat e FZF. Primeiro, o usuário usa o comando cat para mostrar que há muito texto no arquivo de texto. Em seguida, o usuário canaliza o conteúdo do arquivo para o comando FZF, que abre uma janela FZF. O usuário então digita uma palavra e o FZF restringe o resultado da pesquisa em tempo real.

Instalação

Para acompanhar, você precisará instalar o pacote fzf.

No Debian, você deve executar o seguinte comando de instalação.

         sudo apt install fzf     

No Fedora, você deve executar o seguinte comando de instalação.

         sudo dnf install fzf     

No Arch Linux, você deve executar o seguinte comando de instalação.

         sudo pacman -S fzf     

Agora, para habilitar os recursos avançados do fzf, você precisa adicionar uma linha ao arquivo de configuração do shell.

Se você usa Bash, coloque o seguinte comando em seu arquivo ~/.bashrc e recarregue seu shell com fonte ~/.bashrc.

         eval"$(fzf --bash)"     

Se você usa Zsh, coloque isso em seu arquivo ~/.zshrc e recarregue seu shell com fonte ~/.zshrc.

         source <(fzf --zsh)

Pesquisar o histórico do seu shell no Bash – seja usando o comando de histórico ou as teclas de seta – é insuportavelmente lento. Com o fzf, você pode pesquisar instantaneamente milhares de comandos anteriores em tempo real, que é facilmente meu recurso de terminal favorito. Depois de ativar o fzf, basta pressionar Ctrl+R, começar a digitar e pressionar Enter para executar.

Um usuário escolhe um comando em uma lista de comandos usando FZF. Quando a janela FZF é aberta, o usuário digita moo e o FZF restringe a lista de comandos a um único comando cowsay que diz moo. O usuário então o executa.

Existe uma ferramenta semelhante chamada Atuin que oferece uma experiência muito semelhante.

Navegação rápida no diretório

Navegar no sistema de arquivos pode ser demorado no terminal e, depois de usá-lo por algum tempo, você pode querer um método mais rápido. Com os recursos avançados do terminal do fzf habilitados, você pode pressionar Alt+C para pular rapidamente para qualquer subdiretório. Ao fazer isso, o fzf apresentará uma lista recursiva de subdiretórios, que permite restringi-los rapidamente e selecionar um. Isso é útil quando você está tentando detalhar um subdiretório profundamente aninhado.

Uma janela de terminal mostra o usuário ativando o comando FZF com o atalho de teclado Alt+C. O usuário então digita algumas letras para restringir e selecionar um diretório em tempo real. O usuário pressiona Enter e um comando de CD aparece na tela com o caminho escolhido inserido.

Pesquisa e seleção rápida de arquivos

Muitas vezes, ao digitar um comando, você precisa escolher um arquivo. Usar o preenchimento com tabulação é uma abordagem, mas não é a melhor. Uma abordagem melhor é usar um localizador difuso, e o fzf fornece um seletor de arquivos integrado.

Comece digitando seu comando e, quando for escolher um arquivo, pressione Ctrl+T. O seletor de arquivo fzf será ativado, pesquisando recursivamente o diretório de trabalho atual. Quando você pressiona Enter em uma escolha, seu comando será concluído com o arquivo escolhido.

Uma janela de terminal mostra um comando cat parcialmente concluído. O usuário então ativa o comando FZF com o atalho de teclado Control+T. O usuário então digita algumas letras para restringir e selecionar um caminho de arquivo em tempo real. O usuário pressiona Enter e o caminho escolhido completa o comando cat.

Quando você pega o jeito, ativar o comando intermediário do fzf se torna uma segunda natureza e reduz drasticamente o tempo para escrever o comando.

Encerramento fácil do processo

Eliminar um processo Linux pode ser um jogo de adivinhação quando você não sabe seu nome exato. Comandos como pgrep, killall e kill all exigem o nome ou ID do processo, que às vezes pode ser difícil de lembrar. Com a integração do shell do fzf, você pode pesquisar e selecionar rapidamente o processo que deseja encerrar.

Para encerrar processos com fzf, digite o seguinte comando e pressione a tecla Tab (não pressione Enter):

         kill -9 **     
Uma janela de terminal mostra o usuário digitando um comando kill. O comando é anexado com uma estrela dupla. O usuário então pressiona a tecla Tab e uma janela fzf é aberta. O usuário digita parcialmente o nome de um processo e pressiona Enter.

Usar o comando fzf permite selecionar rapidamente um processo e eliminá-lo; é muito mais rápido que os outros comandos e perdoa quando você esquece o nome exato do processo.

Comandos bônus

A sintaxe “**” aciona a janela de pesquisa do fzf. Os comandos fzf que você adicionou à configuração do shell anteriormente criaram funções que manipulam essa sintaxe e habilitam outros recursos do fzf.

O gatilho “**” funciona com quase todos os comandos; alguns comandos são tratados de maneira especial (como o comando SSH) e o restante é padronizado para um seletor de arquivos. Recomendo que você experimente, tendo em mente que “**” ativa um seletor de arquivos por padrão.

SSH

SSH recebe tratamento especial. O preenchimento de guias com ** permite pesquisar hosts difusos a partir de sua configuração SSH, hosts conhecidos e /etc/hosts.

         ssh **

Git

O autor do fzf fornece um script Git oficial chamado fzf-git.sh. Se você seguir as instruções de instalação no README do repositório, poderá obter acesso a conclusões rápidas e difusas nas operações do Git.

Uma janela de terminal é dividida verticalmente. No lado esquerdo está uma lista de commits do Git; no lado direito estão as informações do item selecionado.

Variáveis ​​de ambiente

Execute o seguinte comando para saber rapidamente qual é o valor de qualquer variável de ambiente.

         env | fzf     
Uma janela de terminal exibe uma lista de nomes e valores de variáveis ​​de ambiente em uma janela fzf. O usuário está pronto para realizar uma pesquisa fuzzy em tempo real.

Você pode até remover rapidamente a configuração de uma variável de ambiente com fzf:

         unset **

Sistema

Systemd é o sistema inicial para a maioria das distros; ele cuida do processo de inicialização, incluindo serviços do sistema. Gerenciar arquivos de unidade do systemd é doloroso, e iniciar e interromper serviços se beneficia muito de um script baseado em fzf. Existe um script assim, chamado fuzzy-sys. Para usá-lo, siga as instruções no README do repositório do script e execute o seguinte comando.

         fuzzy-sys --status     

Isso mostrará o status de qualquer serviço.

Uma janela de terminal exibe dois painéis de janela divididos verticalmente. No lado esquerdo está uma lista de serviços; no lado direito está uma janela de visualização, que exibe detalhes sobre o serviço selecionado.

Ele suporta vários sinalizadores, incluindo iniciar, parar, ativar e editar, etc. Este script facilita a escolha de um serviço; agora você não precisa digitar nomes de serviços longos e estranhos.


O Fzf melhora drasticamente a produtividade do terminal e oferece uma extensa lista de scripts comunitários. Comandos complexos que antes levavam minutos para serem escritos e executados agora levam segundos – escrever e executar vários comandos complicados em rápida sucessão agora é incrivelmente fácil.

Este artigo foi útil?
Gostei0Não Gostei0

Deixe um comentário

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00