Respostas:
Algumas possibilidades:
Vincule os history-search-backward/forwardcomandos. Acredito que isso seja o mais próximo do que você deseja:
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'Use o histórico de pesquisa. Provavelmente isso está vinculado ^R. Em uma linha vazia, ^Rls<space>você retornará a ls foo, e ^Rnovamente o levará ao último lscomando (ou outro comando com lsalgum lugar da linha) antes ls foo, etc ...
Vincular o magic-spacecomando: bind SPACE:magic-space. Em seguida, digite (em uma linha vazia) !ls<space>e o readline executará a substituição do histórico automaticamente, deixando você com ls foo.