7

Я часто использую обратный поиск, и это круто. Иногда, когда я нажимаю Ctrl+r несколько раз, я передаю команду, которую на самом деле ищу. Поскольку Ctrl+r выполняет поиск назад в истории, от самого нового до самого старого, я должен:

отмена, поиск снова и остановка точно по команде, не передавая ее. Находясь в приглашении обратного поиска, можно ли искать вперед, т. Е. С того места, где я стою, до самого нового. Я наивно пробовал Ctrl+ Shift + R, не повезло. Я слышал о Ctrl+ g, но это не то, что я ожидаю здесь. У кого-нибудь есть идея?

1 ответ1

17

Ответ из одного предложения: Запустите в своем терминале stty -ixon , а затем используйте Ctrl+S, чтобы изменить направление поиска с обратного на прямое.

Точный ответ, вероятно, зависит от того, какую оболочку вы используете. Однако как в bash, так и в Zsh (и, возможно, в других оболочках) вы можете (теоретически) нажать Ctrl+S для поиска вперед. Таким образом, после нажатия Ctrl+R несколько раз, вы можете нажать Ctrl+S несколько раз, чтобы перейти к команде, которую вы действительно хотите. Многие терминалы, однако, перехватывают Ctrl+S и Ctrl+Q для программного управления потоком данных, поэтому Ctrl+S никогда не переходит в bash; если вы хотите, чтобы bash, а не ваш терминал, читал Ctrl+S, вы можете отключить управление потоком программного обеспечения, запустив stty -ixon .

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