Існує функція readline end-of-history
, за замовчуванням відображена до M- >, але якщо вона використовується під час зворотного пошуку, вона виходить із запиту зворотного пошуку.
Можливе вирішення / хитрість
Почніть пошук рядків
Натомість для зворотного пошуку ви можете використовувати history-search-backward
та history-search-forward
(за замовчуванням невстановлені), відображаючи їх up/down(дуже корисно) у вашому .inputrc
:
# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward
Отже, після введення ви можете змінити натискання на пошук up
(замість Ctrl+ R), і коли ви хочете повернутися до кінця історії, ви можете скористатися end-of-history
функцією, натиснувши ( M- >)
Таким чином "Рядок пошуку повинен відповідати на початку рядка історії ", тому, якщо ви шукаєте ls -ltr
, вам доведеться набрати, ls
а потім натиснути upклавішу.
Пошук підрядків
якщо ви хочете, щоб " Пошуковий рядок може відповідати будь-де в рядку історії ", ви повинні використовувати history-substring-search-forward
та history-substring-search-backward
:
# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward
Таким чином, якщо ви шукаєте ls -ltr
, ви можете ввести ls
, але також ltr
перед натисканням up.
Довідка: Довідковий посібник Bash - Команди історії .
history
покаже вам всі команди bash, зроблені ..