I longed for this for so many year but somehow never took the effort to research it. Turns out that bash autocompletion can be be made into something sane by adding the following to profile/bashrc:
# make bash autocomplete with up arrow
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'
# make tab cycle through commands instead of listing
bind '"\t":menu-complete'
# make cd try only directories
complete -d cd
The at home notice should be understandable to those who have a very very long memory: more than a decade ago Zoltan Hidvegi of zsh maintainer fame was one of my friends. I was spoiled for life about what a shell can (and should!) do.
Commenting on this Story is closed.
Thanks for the tip.
For the people with os x, put those lines in /etc/profile and then in terminal do:
. /etc/profile
...to make the changes take effect.
…but thank you so much! Those looking to find more options should try
man bash
. On Mac OS X, avoidman bind
as that will show you the less-than-useful “builtin” manual page.