Pular para o conteúdo

Habilitando busca incremental de comandos no terminal GNU/Linux

Dica publicada em Linux / Comandos
Leandro Nkz leandro
Hits: 9.843 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

... 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!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Firefox - Script para empacotamento e instalação ao modo Debian

Openbox encerrando ao executar programas GTK+ 3 [Resolvido]

Como inserir o Tux/TuxDebian durante o boot do Debian

Solução para Kernel panic em Dual-boot com Grub2 para Mandriva-Mageia

OraPlus - Simples gerenciador para o banco de dados Oracle

Guia básico de referência do DPKG

Comandos básicos e parâmetros do Iptables

Aprenda a utilizar o cron [Vídeo]

Coleções de softwares pré-definidas do Ubuntu

Crie atalhos para controle de volume no Fluxbox

#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

Entre na sua conta para comentar.