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 .
historyirá mostrar-lhe todos os comandos bash feitos ..