quarta-feira, 8 de abril de 2026

Otimizando o uso do bash

Eu já tinha feito uma postagem sobre otimização do bash para quem curte usar o Terminal (acesse-a clicando aqui) e aqui vou complementar a postagem anterior, dotando o bash (não do zsh) de um auto-suggestion colorido e um "leitor" de histórico (history search) que vai facilitar a procura de comandos já feitos no sistema. Tudo isso também pode ser implementado no ZSH (outro shell) com plugins próprios mas aqui é - pelo menos por enquanto - para uso no bash que é o padrão das distribuições.

O auto-suggestions é o recurso de você digitar a parte inicial de um comando, apertar TAB e são mostradas as opções de comandos disponíveis a partir daquele "pedaço" que você digitou. Por exemplo, digitando "apt" ou "system" e dando TAB:

 


Vão aparecer as opções disponíveis completas para o item digitado - daí o "suggestions".

Já o history search é o recurso de você digitar parte de um comando, como "sudo apt", usar as teclas de direção e os comandos que já foram feitos iniciando com "sudo apt" vão aparecendo. Vamos então ver como implementar essas duas opções que até já podem existir mas vamos deixá-las mais adequadas. Abra o Terminal e digite:

nano ~/.inputrc

Coloque dentro e depois salve (crtl+o) e feche o arquivo (ctrl+x), reiniciando a sessão.

$include /etc/inputrc

# command history search
"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char

# extended auto-completation with tab
set show-all-if-ambiguous on
set completion-ignore-case on

# colors
set colored-completion-prefix on
set colored-stats on

Com isso, se você tiver no seu histórico do Bash (~/.bash_history), por exemplo, "nano", ao digitar "nano" e usar as teclas de direção pra cima e pra baixo tudo que você já digitou tendo no início "nano" (nano ~/.conkyrc, nano ~/.bashrc, etc) vai aparecendo; chegando ao que você precisa, basta usar TAB ou a seta para a direita e dar enter. E os comandos dados em parte e apertando TAB os comandos possíveis aparecerão como a primeira imagem dessa postagem.

Nenhum comentário:

Postar um comentário