3

С Ctrl + R вы можете искать в предыдущих командах. Если вы снова нажмете Ctrl + R , отобразятся более старые предыдущие команды. Проблема в том, что этот поиск "односторонний", он всегда отображает старые результаты каждый раз, когда вы нажимаете Ctrl + R.

Прямо сейчас, если я нажимаю Ctrl +R слишком много раз и пропускаю результат, который на самом деле искал, я должен остановить поиск (Ctrl + G) и перезапустить его с самого начала.

Есть ли какая-либо команда (Ctrl + что-то ) для поиска "более новых" результатов, чем та, которая отображается в данный момент?

2 ответа2

4

Bash также имеет прямой поиск по истории, который отображается на Ctrl S.

Часто этот ярлык маскируется привязкой клавиши управления потоком stop для терминала (проверьте с помощью stty -a). Это заставит ваш терминал перестать выводить что-либо - не совсем то, что вы хотите.

Чтобы заставить работать поиск по истории, у вас есть два варианта:

  1. Отключите управление потоком вообще: stty -ixon

  2. Привязать управление потоком к чему-то другому, например, к Ctrl X с помощью stty stop ^X

1

Ctrl + S должен искать историю "вперед". Или то, что вам скажет bind -p , связано с forward-search-history .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .