Habilitando busca incremental de comandos no terminal GNU/Linux

Publicado por Leandro Nkz em 17/07/2013

[ Hits: 9.027 ]

Blog: http://brweatherproject.blogspot.com/

 


Habilitando busca incremental de comandos no terminal GNU/Linux



Olá a todos!

Nesta pequena e simples dica, mostrarei como habilitar a busca incremental de comandos no terminal GNU/Linux.

O que é busca incremental?

O próprio terminal já fornece uma busca parecida. É só teclar a combinação Ctrl+r e digitar o comando que se deseja buscar. Assim, ele exibirá as últimas ocorrências do termo digitado.

Mas a busca incremental de que falo, é muito mais simples e útil.

Eu descobri este recurso utilizando o Vim. Se corretamente habilitada (é só utilizar o parâmetro "set nocompatible" no vimrc), para utilizar um comando do histórico, é só digitar o começo do comando e teclar seta pra cima/seta pra baixo para navegar nas ocorrências encontradas.

De tanto usar o Vim, eu acabei pegando a estranha mania* de, ao digitar algum comando no terminal, tentar completar utilizando a seta pra cima. É claro que não funciona, uma vez que a seta pra cima serve apenas para ir ao último comando digitado.

* Aliás, esta não é a única mania que se pega ao utilizar constantemente o Vim/Gvim/vi. As mais frequentes são teclar Esc toda vez que se acaba de digitar algo em qualquer lugar, ou tentar fechar a janela do terminal com um :wq. (rsrs)

De tanto tentar completar um comando no terminal com a seta pra cima, pensei: "Deve existir alguma configuração que possa habilitar isso!".

Foi só pesquisar um pouco que encontrei:
Para habilitar, é só acrescentar:

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

... no final do arquivo /etc/inputrc (assim, as mudanças surtirão efeito em todos os usuários) e fechar/abrir o terminal novamente.

Agora, para testar, basta começar a digitar um comando qualquer e teclar seta pra cima/seta pra baixo para navegar nas últimas ocorrências dele.

Por fim, para termos um histórico bem completo, basta aumentarmos a capacidade dele, acrescentando (ou editando) no arquivo ~/.bashrc:

export HISTSIZE=10000

Assim, o terminal irá armazenar os últimos 10.000 comandos digitados (o padrão é 500).

* Lembrando que este recurso só funciona se o seu readline estiver no modo de compatibilidade com Emacs (o que é o padrão).

Testado no bash e sh.


Referências


Dica também publicada no Mundo GNU:
Até a próxima!

Outras dicas deste autor

Habilitando sons do sistema no GNOME 2 do Debian 6

Como inserir o Tux/TuxDebian durante o boot do Debian

Como editar, renomear entradas e inserir uma imagem de fundo no Grub 2 com o Grub Customizer

Tint2 com menu do Openbox

Como adicionar PPA's no Debian

Leitura recomendada

Alterar hora de uma forma rápida

Calculadora para modo texto

Mostrando seu prompt para outro usuário

Ubuntu 12.04 LTS - Deixando sua máquina mais rápida

Listagem de arquivos e pastas ordenados por tamanho

  

Comentários
[1] Comentário enviado por removido em 17/07/2013 - 03:58h

Cara, muito boa e muito útil essa dica.
Agora não vou precisar mais usar o caractere "!" toda vez que quiser executar um comando já digitado, o que fica bem mais prático!!!!

[2] Comentário enviado por MarceloTheodoro em 17/07/2013 - 08:27h

"(...) tentar fechar a janela do terminal com um :wq"

Fato.. haha







___________________________
Att, Marcelo Theodoro.

[3] Comentário enviado por removido em 17/07/2013 - 09:50h

Ótima dica!

Rapaz, como o Linux tem opções.
Não conhecia essa.

[4] Comentário enviado por leandro em 17/07/2013 - 10:52h

Obrigado! =)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts