Існує функція 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, зроблені ..