А вот о навигации в стиле vim/csh задумываются крайне редко, а она весьма и весьма удобна — при нажатии стрелок вверх-вниз пересвистываются не все команды, а команды имя которых начинаетя с уже введенных символовю. Сделать сие не так сложно, просто не многие знают что этом возможно.
bash: Добавить в свой inputrc для readline
"\e[A": history-search-backward"\e[B": history-search-forward
zsh: Добавить в zshrc
bindkey "^[[A" history-beginning-search-backwardbindkey "^[[B" history-beginning-search-forward
или указывать клавиши с помощь zkbd, если он используется[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" history-beginning-search-backward[[ -n "${key[Down]}"]] && bindkey "${key[Down]}" history-beginning-search-forward