Как перевернуть i-поиск взад-вперед?
Я часто использую reverse-i-search
, и это круто. Иногда, когда несколько раз нажимаю Ctrl+r
, я передаю команду, которую я действительно ищу. Поскольку Ctrl+r
ищет назад в истории, от самого нового до самого старого, я должен:
- отменить,
- снова и
- остановитесь точно в команде, не передавая ее.
Пока в приглашении reverse-i-search
можно выполнить поиск в прямом направлении, то есть от того места, где я стою. Я наивно пробовал Ctrl+shift+r
, не повезло. Я слышал о Ctrl+g
, но это не то, что я ожидаю здесь. У кого-нибудь есть идея?
Ответы
Ответ 1
Здесь есть аналогичный вопрос:
Control-r reverse-i-search в bash: как вы "reset" поиск в Cygwin?
Нашел еще один подобный вопрос о Super User:
https://superuser.com/questions/159106/reverse-i-search-in-bash
По-видимому, оба упоминают Ctrl+s
, что может сделать трюк.
Надеюсь, что это поможет. Я сам пытаюсь найти фрагмент кода, который выполняет reverse-i-search
, чтобы проверить, как он был точно реализован.
Ответ 2
CTRL + S
... решил это для меня ПОСЛЕ использования...
stty -ixon
Если CTRL + S не работает для вас, потому что в соответствии с принятым ответом Vincenzo Pii в другой связанной теме:
Проблема заключается в том, что эта привязка во многих терминалах используется по умолчанию для отправки кода передачи паузы (XOF).
Как в man stty:
[-] IXON
enable XON/XOFF flow control
Итак, если этот параметр включен на вашем терминале (вывод stty -a содержит значок ixon withouth the - впереди), вы не можете использовать CTRL S в контексте обратного i-поиска.
Чтобы отключить его, используйте следующую команду:
stty -ixon
И CTRL S даст вам (i-search) (не обратный).
Ответ 3
Попробуйте delete
, магически сработало.
Другие указывают на Ctrl+s
, но это не работает для меня.