У меня так настроено в ~/.bashrc:
# History search with Up/Down keys.
if [[ $- == *i* ]]; then
bind '"\eOA": history-search-backward'
bind '"\e[A": history-search-backward'
bind '"\eOB": history-search-forward'
bind '"\e[B": history-search-forward'
fi