Ответы:
Несколько возможностей:
Свяжите history-search-backward/forward
команды. Я считаю, что это ближе всего к тому, что вы хотите:
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'
Используйте историю i-search. Это, вероятно, связано с ^R
. В пустой строке ^Rls<space>
вы вернетесь к нему ls foo
, затем ^R
снова перенесете вас к последней ls
команде (или другой команде, ls
находящейся где-то в строке) перед этим ls foo
и т. Д ...
Привязать magic-space
команду: bind SPACE:magic-space
. Затем введите (в пустой строке) !ls<space>
, и readline выполнит подстановку истории автоматически, оставив вас с ls foo
.