Hoje, decidi experimentar o Vi em vez do Vim, queria ver o quão diferente é. Não notei muitas diferenças, a maior coisa que notei foi como Vi não disse -- INSERT --
quando entrei no modo de inserção, e houve algumas pequenas diferenças na interface.
Isso me fez pensar, quais são as maiores diferenças entre Vi e Vim?
original-vi
Loovjo
fonte
fonte
Respostas:
Na verdade, existe um comando de ajuda no vim para informar sobre as diferenças:
:help vi_diff
No site do Vim , os maiores são:
fonte
O Vim possui muitos recursos que o Vi não possui, mesmo os recursos que não são obviamente "avançados".
Na prática, isso significa que, se você está acostumado ao Vi, provavelmente encontrará poucas diferenças se começar a usar o Vim (ou algum outro clone do Vi), mas se estiver acostumado ao Vim e se seus "reflexos" incluirem recursos como destaque no modo visual, qualquer ação de tecla que comece com "g" ou "z", qualquer ação de texto com "i" ou "a" [por exemplo, "daw" para excluir uma palavra sob o cursor]], navegando com as setas no modo de inserção etc, você descobrirá que eles não funcionam no Vi.
Há também a questão do que exatamente você estava usando quando diz que "tentou o Vi". Em muitos sistemas, "vi" realmente executa o Vim, em um modo em que algumas dessas diferenças se aplicam (modo de exibição padrão como você observou, as teclas de seta não funcionam no modo de inserção) e outras não (modo visual e as teclas g / z funcionam ), e alguns recursos dependem de uma opção de tempo de compilação que às vezes é desabilitada no "tiny Vim" usado para isso (objetos de texto, como "aw" uma palavra, são um desses). Você não poderá obtê-los se executar o Vi real ou se "vi" for algum outro clone com menos ou diferentes recursos que o Vim, como nvi ou VILE.
E, do lado obscuro, embora o "modo Vim pequeno no Vi" obviamente não tenha recursos que um Vim completo não possui, existem alguns recursos do Vi original genuíno que o Vim não possui. Estes estão documentados em
:help vi-differences
.fonte
A maioria das comparações oferece mais funcionalidade ao vim do que ao vi, mas há uma exceção. Havia o modo "aberto" no vi, e o vim realmente não possui esse modo.
O modo aberto é um modo de linha única usado antigamente com terminais que não tinham monitores eletrônicos, como teletipos, impressoras de carta e similares, e também com monitores em que o cursor permanece apenas na parte inferior.
Eu sei que há documentação por aí que diz que o vim simula o modo aberto, mas minha experiência é que não, pois eu o vi usado com o vi com meus próprios olhos e nunca vi o vim fazer isso. Parece que o vim apenas usa o
open
comando simplesmente para abrir e editar um arquivo no modo visual. Eu acredito que a documentação oficial do vim afirma que ele não suporta o modo aberto.fonte
^R
, mas não dá outra ajuda.:open some/file
retornaopen: No such command from open/visual
.Q
para entrar no modo ex, entãoopen
.z
para mostrar o contexto da linha atual quando você estiver no modo aberto. Para recuar,Q
entãovi
.Eu acho que é muito difícil fazer a comparação, devido às mudanças no vi que aconteceram ao longo do tempo.
Quando estava na faculdade, usei o plain-vanilla vi em um terminal burro (e também em um emulador de terminal em um Mac) que se conectava aos mainframes usando o Sistema V. Você nem consegue mais encontrar isso.
Mas nem tenho certeza se isso era verdade vi. Naquela época, havia muitos clones e portas criados porque o vi não era de código aberto na época. E quando os fornecedores criaram clones, eles adicionaram recursos que não estavam no vi. A história é meio complicada. Você pode lê-lo na Wikipedia e em outros lugares.
Portanto, se você não estava usando determinados fornecedores / hardware, não estava usando o vi, mas algo como o vi.
Mas eu me lembro do vi (ou do clone que eu estava usando) sendo muito minimalista em sua interface (sem cores, sem rótulos INSERT, sem desfazer múltiplos, etc.), mas poderoso no que ele realmente poderia realizar. Muito prático.
fonte
O FAQ do Vim tem uma lista bem formatada: https://vimhelp.org/vim_faq.txt.html#faq-1.4
Trecho do FAQ:
fonte