Zoxide e fzf no bash para incrementar o uso do Terminal

Publicado por Sidnei Serra em 31/03/2026

[ Hits: 37 ]

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

O dock Plank + U-Launcher deixam qualquer desktop mais produtivo

Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto

As diferencas entre o clipboard comum e a selecao ativa

Instalando partes faltantes do Plasma 6

Consertando o áudio com estalos e interrupções no Pipewire

Leitura recomendada

SIAFI no Ubuntu 12.04

Vim - Backup de arquivos editados

Instalando e usando o Dconf Editor, o "regedit" para Linux

GC89 GPRS da Claro no Ubuntu Linux

Aplicativo de ajuste de brilho no Ubuntu

  

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