Você deve ser capaz de fazer isso, religando as teclas de seta no seu perfil bash. Por padrão, as setas para cima e para baixo estão vinculadas a previous-history
e next-history
; Acredito que o comportamento que você procura é history-search-backward
e history-search-forward
, que, por padrão, não estão vinculados a nenhuma chave.
Os comandos a seguir farão a religação:
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
(assumindo que seu emulador de terminal faz (um dos) mapeamentos padrão de teclas de seta.)
previous-history
e next-history
são, por padrão, também ligados a ctrl + P e ctrl + N mas no meu experimento rápido parecia haver uma ligeira problema de interoperabilidade entre next-history
e history-search-backward
Pode ser apenas um problema com a versão do readline
que eu instalei.
bash também oferece pesquisa de histórico incremental reverso ( ctrl + R ; ctrl + S é busca incremental direta), que é um pouco equivalente, mas não ancora o histórico procure no início da linha. (Além disso, você precisa se lembrar de digitar primeiro.)