Вы должны быть в состоянии сделать это, повторно связав клавиши со стрелками в вашем профиле bash. По умолчанию стрелки вверх и вниз привязаны к previous-history
и next-history
; Я считаю, что поведение, которое вы ищете, history-search-backward
и history-search-forward
которое по умолчанию не привязаны ни к какому ключу.
Следующие команды сделают привязку:
bind '"\e[A": history-search-backward' bind '"\e[B": history-search-forward'
(при условии, что ваш эмулятор терминала выполняет (одно из) стандартное сопоставление клавиш со стрелками.)
previous-history
и next-history
, по умолчанию, также связаны ctrl+Pи, ctrl+Nно в моем быстром эксперименте, похоже, возникла небольшая проблема с совместимостью, next-history
и history-search-backward
это может быть просто проблема с установленной версией readline
.
bash также предлагает обратный инкрементальный поиск по истории ( ctrl+R; ctrl+Sэто прямой инкрементальный поиск), который в некоторой степени эквивалентен, но не привязывает поиск по истории в начале строки. (Кроме того, вы должны помнить, чтобы набрать его первым.)