Respuestas:
Algunas posibilidades
Vincula los history-search-backward/forwardcomandos. Creo que esto está más cerca de lo que quieres:
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'Utiliza el historial de i-search. Esto probablemente está obligado a ^R. En una línea vacía, lo ^Rls<space>llevará de regreso ls foo, luego ^Rnuevamente lo llevará al último lscomando (u otro comando con lsalgún lugar en la línea) antes ls foo, etc.
Enlazar el magic-spacecomando: bind SPACE:magic-space. Luego escriba (en una línea vacía) !ls<space>, y readline realizará la sustitución del historial automáticamente, dejándolo con ls foo.