É um pouco como perguntar qual é a diferença entre um Datsun 120Y & um Porsche!
O Vim tem uma multitude de recursos não oferecidos pelo antigo vi simples: -
- Várias janelas - horizontal, vertical e & guias.
- destaque visual.
- Ajuda on-line por meio do comando: help.
- Grave macros em um registro que você possa executar.
- Desfaça (e refaça) várias vezes, ao invés da velha alternância insana do vi.
- Histórico da linha de comando, histórico de pesquisa.
- Uma linguagem inteira incorporada junto com uma série de funções disponíveis, por exemplo, getcwd ()
- Correspondência de padrões amplamente expandida.
- Word completion via ctrl-P & ctrl-N.
- Um navegador de arquivos integrado (um pouco desajeitado, mas pode ser útil).
- A tecla ESC realmente encerra os comandos que você estava tentando, bem, escapar de vez de (insanamente) executá-los como vi.
- Capacidade de executar comandos em todos os buffers, args ou windows via bufdo, argdo & windo.
Eu poderia continuar por muito mais tempo do que isso, o vim tem muitos recursos a mais do que o simples e antigo vi que realmente não há comparação.
PS - Para realmente usar o vi antigo simples, você teria que estar trabalhando em um sistema Unix legado, por exemplo, Solaris (desculpe pessoal, está indo assim). Você pode estar usando o vim quando acha que está usando o vi, já que a maioria das distribuições do Linux simplesmente mapeia o vi para o vim. Se: help works, ou vários undos trabalham, ou: version funciona, você está usando vim, não vi!