Create your ~/.inputrc or append it with the following:

"\\e[A": history-search-backward
"\\e[B": history-search-forward
set show-all-if-ambiguous on  
set completion-ignore-case on  

Now when you start typing a command you can use the up and down arrows to search for commands you previously used that started the same way:

vim↑  
vim [last vim command you used]↑  
vim [second to last vim command you used]