Zoxide e fzf no bash para incrementar o uso do Terminal
O
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:
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.
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.