Pesquisando o histórico no Bash para frente e para trás?

8

No Bash, quando clico Ctrlr, posso pesquisar o histórico de comandos para trás. Se eu quiser procurar novamente, o que devo fazer? (O Ctrlsque não funciona.)

Meu Bash é: GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu)

Tim
fonte
Ctrl-S deve funcionar. Pelo menos ele funciona na minha máquina em um xterm. Se isso não funcionar, digite stty -ixon.
precisa saber é
Seu shell trava ctrl-se recupera com ctrl-q? Nesse caso, você precisa desativar o controle de fluxo. (nos dizer se isso acontecer, para que possamos dar a ajuda correta)
ctrl-alt-Delor
2
Com o controle de fluxo, Ctrl-S interrompe o fluxo, enquanto Ctrl-Q o reativa; é por isso que resolve o seu problema. Atualmente, o controle de fluxo é inútil. Sugiro que você desative-o com stty -ixon(coloque isso no arquivo de inicialização do shell para shells interativos).
precisa saber é
3
2) você só pode avançar, depois de voltar para trás: você não pode avançar para o que digitará mais tarde; o computador não é inteligente o suficiente para descobrir isso.
Ctrl-alt-delor
1
O controle de fluxo foi usado para pausar a saída, útil se o computador estiver saindo rápido, mas não tão rápido que você não possa ver mais ou menos onde está. Hoje em dia é inútil, pois o computador é rápido demais para torná-lo útil. (um pouco de software pode ser rápido o suficiente para reagir, portanto pode ser usado lá. Outros protocolos de controle de fluxo são usados ​​no TCP, por exemplo).
Ctrl-alt-delor

Respostas:

10

Seu tty provavelmente tem os bits ixone ixanydefinidos.

ixonativa o controle de fluxo XON / XOFF; portanto, quando você pressiona CtrlS, o dispositivo tty interrompe a saída. Mas ixanysignifica que qualquer outra tecla reiniciará a saída, para que a maioria das pessoas nem perceba que ela parou.

Algumas pessoas acham o controle de fluxo útil, mas você pode desativá-lo executando:

stty -ixon

e, em seguida, CtrlSdeve funcionar como esperado para pesquisar no bash.

Você pode querer adicionar isso ao seu ~/.bashrc!

bosques
fonte