Control-r reverse-i-search in Bash: how do you "reset" the search in Cygwin?
My Bash works as you are expecting. Maybe hitting Ctrl + C instead of Esc can help.
Also, you can search forward using Ctrl + S.
Ctrl + S works if it does not send a "stop" to your terminal, i.e., if "stty -a" gives you "-ixon". You can change it by "stty -ixon".
Thanks to @Phil for reminder.
I never tried making this the default when hitting Esc, but Bash uses readline
for input, which accepts Emacs-style keybindings by default, so you can go to the bottom using M->
(usually either by combining Meta/Alt and > or by following the Esc key with >).
If M->
does not work because your terminal does not let you enter that, try ^G
(Ctrl and G
simultaneously). That is the "cancel" stroke in Emacs and usually works with readline
too.
I got a confirmed answer to this question.
To reset Ctrl + R, the usual Emacs key Ctrl + G can do. If you want to reverse Ctrl + R by one step, instead of working your way up from the bottom again, you can use Ctrl + S .
The trick is Ctrl + S is also used to pause the terminal. So you would need assign that to another key. For example, the following will set pause to Ctrl + W (and keep "resume" with Ctrl + Q).
$ stty STOP ^w
Alternatively, you can also totally disable XON/XOFF (resume/pause) flow control characters by
$ stty -ixon -ixoff
This will also free up Ctrl + S. To re-enable pause/resume, you can do
$ stty ixon ixoff
M-> ... moves to end of history
M-< ... moves to start of history
Your left Alt key is most likely your Meta key.
Use man readline
for more readline directives.