Не удалось переслать поиск Bash историю аналогично CTRL-r

Я пытаюсь выполнить поиск в моей истории bash аналогично CTRL - r, но для направления вперед.

Мне было больно, когда я слишком часто ударял слишком часто CTRL - r, чтобы снова найти предыдущую команду.

Как вы можете переслать поиск в историю bash так же, как при обратном поиске?

Ответ 1

Вы также можете искать вперед. Из справочника bash " 8.2.5 Поиск команд в истории":

Для поиска назад в истории для конкретной строки введите C-r. Ввод C-s выполняет поиск вперед по истории.

Однако проблема с Ctrl-S заключается в том, что иногда она сталкивается с управлением потоком XON/XOFF (например, в Konsole). Однако поиск - это функция readline, и вы можете привязать ее к другому ключу. Обновление: проще и лучше просто отключить XON/XOFF, запустив

stty -ixon

Ответ 2

Лучший трюк IMHO включает pgup и pgdown. просто поместите это в свой ~/.inputrc

"\e[5~": history-search-forward
"\e[6~": history-search-backward

logout/login, введите первые буквы, а затем pgup или pgdown для поиска по всей истории

ctrl-R искать все строки, содержащие слова, тогда как строки поиска по поисковым запросам истории, начинающиеся со слов

Ответ 3

Возможно, вы захотите попробовать https://github.com/dvorka/hstr, который позволяет фильтровать <предлагать в стиле окна" историю Bash с помощью (необязательных) показателей то есть он намного эффективнее и быстрее как в прямом, так и в обратном направлениях:

enter image description here

Его можно легко связать с Ctrl-r и/или Ctrl-s

Ответ 4

Я обычно нажимаю ESC в терминале, а затем " > ". Он сбрасывает по крайней мере, а затем вы можете попробовать кликнуть слишком часто CTRL + R.

Ответ 5

Вы также можете добавить сдвиг.

Ctrl + shift + r отменит обратный поиск истории (поиск в режиме поиска).