voltar ao final do histórico do bash ao usar a pesquisa reversa?


12

Eu mantenho um histórico bastante longo do bash e, às vezes, quando procuro por algo com a função de pesquisa reversa do bash ( Ctrl+ r), acabo no início do histórico de pesquisa e ainda não encontrei o que precisava e depois gostaria de voltar ao final do arquivo de histórico. Uma opção é usar a função de pesquisa direta ( Ctrl+ s) que se aproxima do final do histórico ou é executada #, mas há também um atalho de teclado para se mover diretamente para o final do histórico do bash?


2
historyirá mostrar-lhe todos os comandos bash feitos ..
ryekayo 26/05

Respostas:


6

Existe a função readline end-of-history, por padrão mapeada para M- >, mas se usada durante a pesquisa reversa, ela sai do prompt de pesquisa reversa.

Uma possível solução / truque

Iniciar pesquisa de string

Em vez disso, para usar a pesquisa reversa, você pode usar history-search-backwarde history-search-forward(padrão não mapeado), mapeando-os para up/down(muito útil) em .inputrc:

# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward

Assim, depois de digitar, você pode inverter a pesquisa pressionando up (em vez de Ctrl+ R) e, quando quiser retornar ao final do histórico, poderá usar a end-of-historyfunção pressionando ( M- >)

Dessa forma, "A cadeia de pesquisa deve corresponder no início de uma linha do histórico ", portanto, se você pesquisar ls -ltr, precisará digitar lse pressionar a  uptecla.

Pesquisa por substring

se você deseja " A sequência de pesquisa pode corresponder a qualquer lugar da linha do histórico " , é necessário usar history-substring-search-forward e history-substring-search-backward:

# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward

Dessa forma, se você pesquisar ls -ltr, poderá digitar ls, mas também ltr, antes de pressionar up.

Referência: Manual de Referência do Bash - Comandos para o Histórico .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.