Zoxide e fzf no bash para incrementar o uso do Terminal

Publicado por Sidnei Serra em 31/03/2026

[ Hits: 75 ]

Blog: https://www.youtube.com/@alquimistaTI

 


Zoxide e fzf no bash para incrementar o uso do Terminal



zoxide e o fzf são programas externos que são usados junto do shell (terminal) para acelerar a entrada de pastas e listar possibilidades de entradas disponíveis no histórico. Combinando os dois é possível achar comandos e "entradas cd" (de pastas) para deixar o uso do terminal mais agradável. O problema é que implementar isso acaba deixando o usuário preguiçoso mas vamos lá assim mesmo. Isso pode ser feito também no zsh mas vou mostrar primeiro como fazer no bash.

No Debian e agregados:

sudo apt install fzf zoxide

Abra o arquivo ~/.bashrc:

nano ~/.bashrc

Cole dentro, lá no final do arquivo:

eval "$(zoxide init bash)"

Salve e feche o arquivo. Recarregue o bash:

source ~/.bashrc

Agora todas as pastas em que você entrar no terminal usando bash serão guardadas num banco de dados e dota o seu terminal de um "acelerador". Digamos que você já tenha entrado na pasta .config; basta você digitar sem as aspas "z .config" (nem precisa ser o .config completo, .conf já serve já que é pasta e não arquivo) e o prompt vai aparecer o .config mais novo que você entrou. Se digitar zi config  você vai habilitar o modo de procura caso haja mais de uma entrada disponível:
Linux: Usando o zoxide e fzf no bash do Terminal
Basta então escolher na listagem qual o que você quer usando as setas de direção. E o interessante é que você não precisa digitar o nome da pasta completo, basta digitar "z pasta ou parte do nome" e o zoxide vai direto na última entrada. A única necessidade é que você já tenha entrado na pasta individualmente via cd anteriormente. E, na listagem, ainda mostra as eventuais subpastas presentes nas entradas como ilustra a imagem acima.

Veja os exemplos:
  • z share = Vai entrar na pasta mas recente com a entrada share, por exemplo, /usr/local/share;
  • zi share = vai listar as entradas do histórico do bash que possuem "share" e pode ser escolhida a entrada com as setas de direção;
  • z local = Mesmo que a pasta exista (por exemplo, /usr/local) se você não tiver entrado nela anteriormente via cd (cd /usr/local) não vai achar nada. O zoxide não completa caminhos sozinho e sim se baseia no histórico do shell;
  • zi con = Vai listar as pastas já visitadas que tenham "con", como no exemplo abaixo.
Linux: Usando o zoxide e fzf no bash do Terminal
Lembrando, a pasta TEM que estar no histórico. Se você tiver entrado na /usr/local ou /usr/local/share (atenção ao negrito de ambas) o comando z local ou z share vai achar as entradas MAS NÃO VAI entrar em z usr pois você não entrou nenhuma vez na pasta /usr individualmente.

Depois de instalado o programa precisa "aprender" as pastas que você entra pois ele "linka" ao ~/.bash_history. Para saber o que o zoxide já "aprendeu", abra o terminal e digite:

zoxide query -l

Devem aparecer algumas entradas de comandos de pastas que você já tenha feito. Se estiver em branco é necessário "ensinar" para já "pegar" o que você já tem. Para acelerar o aprendizado, no terminal:

cat ~/.bash_history \
| sed 's/^: [0-9]*:[0-9]*;//' \
| grep -E '^cd ' \
| sed 's/^cd //' \
| while read -r dir; do
    dir="${dir/#\~/$HOME}"
    [ -d "$dir" ] && zoxide add "$dir"
done

Pronto, o zoxide já está "esperto" para listar o que está no seu histórico. Se precisar apagar o banco de dados:

rm -rf ~/.local/share/zoxide/db.zo

e refaça o penúltimo comando mostrado aqui para "ensinar" o seu histórico de pastas ao zoxide.

Só pra deixar claro, o "z" é o substituto do "cd", é como um alias para o comando "cd"; o "z" mais o resto faz o zoxide saber que você está querendo entrar em pastas e esse "z" é o zoxide que determina; poderia ser configurado o j, p ou qualquer outra letra mas vamos ficar no z mesmo.

E lembrando:
  • z pasta ou nome parcial: entra na mais recente;
  • zi pasta ou nome parcial: mostra as pastas acessadas numa lista e que pode ser escolhida a entrada desejada via setas do teclado.

Outras dicas deste autor

Olha que Conky "bunitinhu" pra usar no seu sistema

O widget do Plasma 6 Área de Notificação

Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome

Recuperando arquivos com o Photorec de discos zoados

Colocando skins no VLC Media Player

Leitura recomendada

Solução para problema na instalação do superkaramba (missing Python libraries / headers)

Configurando o diretório home em partição diferente

Fazendo o terminal mostrar asteriscos ao digitar senha

Criando boot USB do "Instalador Debian" usando o GRUB

Inicializar um script automático na inicialização do Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts