Os comandos readline que você está procurando são os seguintes history-search-*
:
history-search-forward
Pesquise para a frente no histórico a sequência de caracteres entre o início da linha atual e a posição atual do cursor (o ponto). Esta é uma pesquisa não incremental.
history-search-backward
Pesquise para trás no histórico a sequência de caracteres entre o início da linha atual e o ponto. Esta é uma pesquisa não incremental.
Vinculá-los no seu .inputrc
, assim:
"\e[A": history-search-backward # arrow up
"\e[B": history-search-forward # arrow down
permitirá que você insira os primeiros caracteres de um comando e, em seguida, use as teclas Upe Downpara passar apenas pelos comandos no seu .bash_history
que começam com essa sequência.
Por exemplo, inserir vi
e o Uplevaria ao primeiro comando anterior começando com vi
, como vim somefile
. A inserção Uplevará você para a próxima instância anterior e assim por diante.
Você pode ler mais sobre todas as ligações de readline aqui:
http://linux.about.com/library/cmd/blcmdl3_readline.htm
Anexe um "!" para o comando que você está procurando. Se você deseja substituir a funcionalidade das setas para cima e para baixo, a modificação do arquivo inputrc (como as outras respostas sugerem) é o caminho a seguir.
Se "comando" é o comando que você está procurando, digite o seguinte:
Você deve obter "comando" como saída.
Da mesma forma, se você deseja encontrar um comando que inclua (mas pode não começar) parte do comando, pressione ctrl + r e digite parte do comando.
Você também pode digitar "tab" para completar automaticamente o texto digitado (isso inclui arquivos também). Isso é útil se você estiver procurando por um comando que não esteja no seu histórico (ou se não tiver um arquivo de histórico)
Você pode ler mais sobre "dominar" o arquivo de histórico aqui: http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/
Esta é uma possível duplicata de /programming/1030182/how-do-i-change-bash-history-completion-to-complete-whats-already-on-the-line
fonte