Поиск истории в Bash вперед или назад?

8

В Bash, когда я нажимаю Ctrlr, я могу искать историю команд назад. Если я хотел бы снова искать вперед, что мне делать? ( CtrlsНе работает.)

Мой Баш это: GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu)

Тим
источник
Ctrl-S должен работать. По крайней мере, это работает на моей машине в Xterm. Если это не работает, введите stty -ixon.
vinc17
Ваша оболочка блокируется ctrl-sи восстанавливается с помощью ctrl-q? Если это так, вам нужно отключить управление потоком. (скажите нам, если это так, чтобы мы могли оказать правильную помощь)
ctrl-alt-delor
2
При управлении потоком Ctrl-S останавливает поток, а Ctrl-Q повторно включает его; Вот почему это решает вашу проблему. Контроль потока бесполезен в наше время. Я предлагаю вам отключить его с помощью stty -ixon(поместите это в файл запуска вашей оболочки для интерактивных оболочек).
vinc17
3
2) вы можете идти вперед только после движения назад: вы не можете делать то, что напечатаете позже, компьютер недостаточно умен, чтобы понять это.
Ctrl-Alt-Delor
1
Управление потоком было использовано для приостановки вывода, полезно, если компьютер выводит быстро, но не так быстро, чтобы вы не могли приблизительно увидеть, где он находится. В наши дни это бесполезно, так как компьютер позволяет быстро сделать его полезным. (немного программного обеспечения может быть достаточно быстрым, чтобы реагировать, поэтому его можно использовать там. Другие протоколы управления потоком используются, например, в TCP). Но вкратце, если вы отключите его, вы не пропустите его.
Ctrl-Alt-Delor

Ответы:

10

Ваш tty, вероятно, имеет ixonи ixanyбиты установлены.

ixonвключает управление потоком XON / XOFF, поэтому при нажатии CtrlSустройство tty прекращает вывод. Но ixanyозначает, что любой другой ключ перезапустит вывод, поэтому большинство людей не замечают, что он когда-либо останавливался.

Некоторые люди находят управление потоком полезным, но вы можете отключить его, запустив:

stty -ixon

и тогда CtrlSдолжен работать как положено для поиска в bash.

Вы можете добавить это к вашему ~/.bashrc!

wwoods
источник