Vim tenta se assemelhar a sintaxe e semântica do comando Vi o máximo possível. Mas sendo uma "versão melhorada", o Vim adiciona novos comandos e funcionalidades. Também muda a semântica de alguns comandos Vi para melhor corresponder às expectativas atuais de seus programadores.
Uma lista detalhada de mudanças entre o vim e o Vi pode ser encontrada usando o comando :help compatible
no Vim.