Я веду довольно длинную историю bash, и иногда, когда я ищу что-то с помощью функции обратного поиска bash ( Ctrl+ r), я оказываюсь в начале истории поиска, но все еще не могу найти то, что мне нужно, и затем я хочу вернуться к концу файла истории. Одним из вариантов является использование функции прямого поиска ( Ctrl+ s), которая перемещается ближе к концу истории или выполнения #
, но есть ли комбинация клавиш для перехода непосредственно к концу истории bash?
bash
command-history
Мартин
источник
источник
history
покажет вам все команды bash, сделанные ..Ответы:
Существует функция readline
end-of-history
, по умолчанию сопоставленная с M- >, но если она используется во время обратного поиска, она выходит из запроса обратного поиска.Возможный обходной путь / уловка
Начать поиск строки
Вместо этого, чтобы использовать обратный поиск, вы можете использовать
history-search-backward
иhistory-search-forward
(по умолчанию не сопоставлено), сопоставляя их up/down(очень полезно) в вашем.inputrc
:Таким образом, после того, как вы набрали, вы можете отменить поиск нажатием up (вместо Ctrl+ R), а когда вы хотите вернуться в конец истории, вы можете использовать
end-of-history
функцию, нажав ( M- >)Таким образом, «Строка поиска должна совпадать в начале строки истории », поэтому, если вы ищете
ls -ltr
, вы должны ввести,ls
а затем нажать upклавишу.Поиск подстроки
если вы хотите, чтобы « строка поиска могла совпадать в любом месте строки истории », вы должны использовать
history-substring-search-forward
иhistory-substring-search-backward
:Таким образом, если вы ищете
ls -ltr
, вы можете ввестиls
, но такжеltr
, прежде чем нажать up.Справочник: Справочное руководство Bash - Команды для истории .
источник