Поиск команд в истории
Readline предоставляет команды для поиска в истории команд (см. Утилиты истории Bash) строк, содержащих указанную строку. Существует два режима поиска: инкрементальный и неинкрементальный.
Инкрементальный поиск начинается до того, как пользователь закончит ввод строки поиска. По мере ввода каждого символа строки поиска Readline отображает следующую запись из истории, соответствующую введенной строке до этого момента. Для инкрементального поиска требуется только столько символов, сколько необходимо для нахождения нужной записи из истории. Для поиска назад в истории по определённой строке введите C-r. Ввод C-s ищет вперёд по истории. Символы, присутствующие в значении переменной isearch-terminators, используются для завершения инкрементального поиска. Если этой переменной не присвоено значение, символы ESC и C-J завершат инкрементальный поиск. C-g прервёт инкрементальный поиск и восстановит исходную строку. После завершения поиска запись из истории, содержащая строку поиска, становится текущей строкой.
Чтобы найти другие совпадающие записи в списке истории, введите C-r или C-s соответственно. Это позволит искать назад или вперёд по истории следующую запись, соответствующую введенной строке поиска до этого момента. Любая другая последовательность клавиш, связанная с командой Readline, завершит поиск и выполнит эту команду. Например, RET завершит поиск и примет строку, тем самым выполнив команду из списка истории. Команда перемещения завершит поиск, сделает последнюю найденную строку текущей и начнёт редактирование.
Readline запоминает последнюю строку инкрементального поиска. Если вводятся два C-r без промежуточных символов, определяющих новую строку поиска, используется любая сохранённая строка поиска.
Неинкрементальный поиск считывает всю строку поиска, прежде чем начать поиск совпадающих строк истории. Строка поиска может быть введена пользователем или быть частью содержимого текущей строки.
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Searching.html