Whatever the terminal you are using, configure it so that it doesn't eat your alt/ctrl key and then learn readline bindings.
"\e[5~": history-search-backward
"\e[6~": history-search-forward
The terminal experience becomes crappy when there is no readline support, e.g. everything on Windows, sqlplus, db2, etc. When there is no readline, I really can't love the terminal.I use ctrl-r because it is easier to type.
> experience becomes crappy when there is no readline support, e.g. everything on Windows, sqlplus, db2, etc.
If you have rlwrap, you can generally do `rlwrap -r app-that-doesn't-play-well`