2013-07-20 3 views
8

При выполнении обратного интеллектуального поиска на терминале (Ctrl +R), я могу продолжать нажимать Ctrl +R вернуться в «истории» и получить старые команды, содержащие мою строку поиска.Обратный интеллектуальный поиск (обратный i-поиск), как получить предыдущий результат?

Как я могу вернуться к результату, который уже был показан (предыдущий результат поиска)?

+2

Ваш вопрос относится к СУ, где [был дан ответ] (http://superuser.com/a/159184) уже. –

+2

@AnsgarWiechers Забавно, что принятый ответ на этот вопрос по SU связывает вопрос о SO ... Reverse-i-search - это инструмент для разработчиков. –

+0

Итак, в конце концов у этого есть ответ: http://stackoverflow.com/questions/549810/control-r-reverse-i-search-in-cygwin-bash-how-do-you-reset-the-search/549860#549860 – anubhava

ответ

23

Я хочу оставить ссылку для людей, которые могут это найти, так как linked question действительно запрашивает что-то еще (даже если один из ответов содержит решение этой проблемы).

Ключ для перемещения вперед CTRLS.

Проблема заключается в том, что эта привязка во многих терминалах используется по умолчанию для отправки кода передачи паузы (XOF).

Как и в man stty:

[-]ixon 
      enable XON/XOFF flow control 

Так что, если у вас есть эта опция должна быть включена на вашем терминале (выход stty -a содержит ixon withouth на - знак спереди), вы не можете использовать CTRLS в контексте обратного i-поиска.

Чтобы отключить ее, используйте следующую команду:

stty -ixon 

И CTRLS даст вам (i-search) (не наоборот).

+1

Woah. Я никогда не знал, что +1 – sehe

+0

Как сделать постоянным изменение терминала? – vishalm

+0

@vishalm, просто используйте свой ~/.bashrc (или независимо от того, что использует ваша система), http://stackoverflow.com/questions/18900803/persistent-stty-settings –

Смежные вопросы