Isso provavelmente tem a ver com o fato de que a emulação de terminal do vim não tem suporte readline. O que é readline, você pergunta?
Bem, aqui está uma pequena introdução do site principal :
The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.
Readline é o que permite que você use as teclas de setas para alterar o texto antes de executá-lo no terminal, por exemplo. Então o comportamento que você está descrevendo é perfeitamente normal.