Есть ли еще одна комбинация клавиш для циклической истории команд в bash?

Я знаю, что вы можете использовать клавиши со стрелками для перемещения вверх и вниз по истории команд в bash, но я хочу знать, есть ли эквивалентный ярлык на основе букв, чтобы моим рукам не приходилось путешествовать так далеко. Любые идеи?

Примечание. Я знаю Ctrl-R для поиска в истории команд.


person trinth    schedule 25.10.2011    source источник


Ответы (2)


В bash также работает большинство сочетаний клавиш emacs.

Итак, то, что вы ищете здесь, это C-n и C-p

Или вы можете сделать set -o vi, а затем использовать сочетания клавиш vi j и k. В обычном режиме конечно, т.е. сделать, сначала ESC.

person Sujoy    schedule 25.10.2011
comment
Вы можете установить привязки клавиш по умолчанию, если хотите. Я думаю, что emacs используется по умолчанию (set -o emacs), но вы также можете использовать set -o vi, если вам нужны привязки клавиш, подобные vi. - person Keith Thompson; 25.10.2011
comment
если вы используете привязки vi, ставите ли вы префикс j & k с помощью Ctrl или другой клавиши? - person trinth; 25.10.2011
comment
@trinth Мне пришлось использовать клавишу alt после включения опции vi; в то время как по умолчанию (emacs ON) я использовал клавишу ctrl. - person ztank1013; 26.10.2011
comment
@trinth: если вы используете режим vi, просто нажмите ESC, чтобы перейти в обычный режим, а затем используйте j/k :) - person Sujoy; 26.10.2011

Одна вещь о ctrl-R, которую я не знал, заключалась в том, что вы можете нажать ее второй/третий/... раз, чтобы прокрутить предыдущие совпадающие команды. Не могу поверить, что весь этот год я занимался history | grep blah вместо этого.

person MarkHu    schedule 25.10.2011