Qual é a diferença entre Vi e Vim?


178

Eu apreciaria se alguém pudesse deixar um novato saber quais são as diferenças entre vie vim. Ouvi dizer que o Vim é um sucessor, vimas sempre que tento abrir vino Ubuntu, ele abre vim.


Respostas:


169

Funcionalmente, o vim é quase um superconjunto adequado do vi . Portanto, tudo o que está no vi está disponível no vim.

O Vim adiciona esses recursos. Aqui estão alguns dos recursos estendidos do vim:

  • O Vim foi portado para uma gama muito maior de sistemas operacionais do que o vi.
  • O Vim inclui suporte (destaque de sintaxe, dobragem de código, etc) para várias linguagens de programação populares (C / C ++, Python, Perl, shell, etc).
  • O Vim se integra ao cscope.
  • O Vim pode ser usado para editar arquivos usando protocolos de rede como SSH e HTTP.
  • O Vim inclui desfazer / refazer em vários níveis.
  • O Vim permite que a tela seja dividida para editar vários arquivos.
  • O Vim pode editar arquivos dentro de um arquivo compactado (gzip, zip, tar, etc).
  • O Vim inclui um diff interno para comparar arquivos (vimdiff).
  • O Vim inclui suporte para plugins e controle mais fino sobre os arquivos de configuração e inicialização.
  • O Vim pode ser script com vimscript ou com uma linguagem de script externa (por exemplo, python, perl, shell).

Existem muitas outras diferenças. Consulte as fontes abaixo, que são alguns bons lugares para começar a descobrir mais.

Fonte: Vim.Org , Vim na Wikpedia .

Espero que ajude! :)


65

"vi" é um editor de texto desde os primeiros dias do Unix. Tornou-se bastante popular e chegou ao SUS (Single Unix Specification) e POSIX, mas não estava disponível gratuitamente até 2002.

Então, vários editores gratuitos do tipo vi surgiram. O Vim ("vi melhorado") é um desses editores. Como o nome sugere, ele adiciona muitas funções à interface original do vi.

No Ubuntu, o Vim é o único editor semelhante ao vi instalado por padrão e, vina verdade, inicia o Vim por padrão.

Outros editores populares do tipo vi disponíveis no Ubuntu são, por exemplo, nvie elvis.


4
In Ubuntu Vim is the only vi-like editor installed by default- Xubuntu aqui: vim: command not found. Somente viestá disponível.
phil294

7
@Blauhirn Para ser justo, tecnicamente o Xubuntu não é o Ubuntu.
Captain Man

8
@Blauhirn E isso vifunciona vim.tiny.
muru 26/05

2
+1 para responder à pergunta sobre por que o vi abre o vim. é isso que o OP realmente está perguntando.
MycrofD 28/11

3

O vi editor é o editor de texto mais popular no Linux. Podemos dizer que possui uma tela simples em preto e branco, ou seja, se você digitar qualquer comando, não haverá realce de código, onde como o vim é uma versão aprimorada do VI, ele também possui recursos semelhantes ao vi, mas também possui realce de código.

Ambos têm estes 4 modos básicos:

  1. modo de gravação
  2. modo de comando
  3. Modo visual
  4. modo de escape

3
Estou razoavelmente certo de que o vi original não possui o modo visual do Vim.
Muru

1

De fato, há uma grande diferença entre eles. Eu uso o nvi e o vim diariamente. Nenhum deles é perfeito, mas ainda é melhor do que qualquer outra coisa.

Vim tem mais de tudo. Além do hilighting de sintaxe (quando compilado com um suporte para ele), ele faz conversões automáticas de conjuntos de caracteres, finais de linha e outros. Possui várias maneiras de numerar linhas, o que é realmente conveniente. Vim certamente tem muito que fala por isso.

Infelizmente, o vim quebra a filosofia do vi misturando os modos do editor e introduzindo um grande número de funções inúteis e redundantes. Claro que é conveniente, a princípio, que você possa, por exemplo, mover-se com as teclas do cursor no modo de inserção, mas também possui alguns efeitos colaterais indesejados realmente estranhos (por exemplo, o. Fica peculiar e imprevisível).

O Vim (embora certamente seja melhorado como afirma) também é uma mistura inchada, estranha e inconsistente de um vi quebrado e de um editor sem modelo. : P

Eu ainda amo isso, no entanto. E você pode corrigir a maioria disso ajustando sua configuração; D


11
Re "Claro que é conveniente no começo que você possa [...] mover com as teclas do cursor no modo de inserção" Esse é o objetivo geral das teclas do cursor hoje em dia! Não estamos mais nos anos 80 e pressionar uma seta para baixo deve mover o cursor para baixo e não colocar alguns ^Bcaracteres de anúncio na tela e emitir um sinal sonoro.
PerlDuck

0

O FAQ do Vim tem uma lista bem formatada: https://vimhelp.org/vim_faq.txt.html#faq-1.4

Trecho do FAQ:

  • Desfazer em vários níveis
  • Guias, várias janelas e buffers
  • Modo de inserção flexível (pode usar as teclas de seta no modo de inserção)
  • Macros
  • Modo visual (selecione visualmente seções do texto)
  • Operadores de bloco
  • Sistema de ajuda online
  • Edição e histórico da linha de comando
  • Conclusão da linha de comando (conclusão da guia)
  • Rolagem horizontal (linhas longas)
  • Melhorias em Unicode e internacionalização.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.