Qual a diferença entre Elvis e Vim?


15

Estou usando o Slackware há um tempo, que vem com o Elvis como editor padrão.

A maioria das outras distribuições Linux parece fornecida com o Vim , em vez do Elvis. Tendo me acostumado com Elvis, enfrentarei uma curva de aprendizado ao mudar para uma distro que usa o vim?

Quais são as vantagens e desvantagens do Elvis em comparação com o Vim?


10
Por que você não instala elvis, então? Só porque uma distribuição inclui algo não significa que você é forçado a usá-la! O Debian possui, por exemplo - aptitude install elvisfará isso. A propósito, 'editor padrão' é uma variável, não uma constante. Basta definir EDITOR=/usr/bin/elvisno rc do seu shell preferido.
Alexios

4
O editor Aprendendo o vi de O'Reilly tem um capítulo gratuito sobre viclones que compara - entre outros - vime muito elvisantigo vi.
sr_ 08/03/12

Elvis está morto. O Vim continua progredindo e atualmente está sendo completamente refatorado como neo vim , o que simplificará bastante a arquitetura da base de código e plug-in e substituirá o vimscript por Lua, entre outras melhorias.
Zaz

Respostas:


13

Elvis e Vim são viclones altamente capazes , portanto, a memória dos seus dedos será útil quando você alternar entre eles.

Eles compartilham muitas viextensões:

  • Realce de sintaxe

  • Desfazer e refazer vários

  • Modo visual, via veV

  • Histórico e conclusão de comandos

  • Pilhas Tag (por exemplo :tags, :tn, etc.)

  • Multiwindow edição, via :split, Ctrl-Wetc.

  • Regexes estendidas: alternância, agrupamento de subexpressão, etc.

  • Versão da GUI, além da interface tradicional do terminal em tela cheia

  • Edição remota de arquivos: leitura / gravação via FTP e somente leitura via HTTP

  • Remoção dos mais clássicos vi limites , como comprimentos de linha e tamanhos de arquivo

  • Suporte de programação aprimorado: :make :, salto automático para erros do compilador, etc.

Tão impressionante quanto Elvis é comparado ao estoque Unix vi , o Vim é ainda mais capaz:

  • Vimscript é muito mais poderoso que a exlinguagem de script derivada de Elvis .

    (Elvis e Vim estenderam o exidioma em direções incompatíveis. Isso significa que você não pode facilmente portar seu elvis.iniarquivo para~/.vimrc menos que seja apenas uma lista de excomandos simples .)

  • Além do Vimscript, o Vim pode ser script via Lua, Perl, Python, Racket, Ruby e Tcl.

    (No entanto, seu Vim local provavelmente não possui todos esses recursos habilitados.)

  • O arquivo de scripts do Vim contém milhares de scripts do Vim, adicionando recursos altamente úteis , aplicativos auxiliares, jogos e muito mais.

    Elvis vem com apenas algumas dezenas de scripts. Não parece ser quaisquer arquivos de terceiros scripts de Elvis. (Tentei pesquisar no Google e só encontrei scripts para filmes de Elvis Presley . Suspiro.)

  • O Vim 7.4 é fornecido com sintaxe, destacando o suporte para cerca de 10 × tantos formatos de arquivo e linguagens de programação quanto o Elvis 2.2.

    Seus formatos de arquivo de definição de sintaxe são incompatíveis, portanto você não pode se portar facilmente entre eles.

  • O Vim 7.4 é enviado com 18 esquemas de cores padrão. Se isso não for suficiente para você, o Vim Color Sampler Pack é uma coleção com curadoria de 177 esquemas principais, até o momento. Existem muitos outros por aí além.

    O Elvis 2.2 é fornecido apenas com três esquemas de cores, e isso somente se você contar os esquemas GUI e TUI separadamente. O arquivo de temas do Elvis contém mais uma dúzia de esquemas de cores, total.

  • O Vim possui um recurso de diff interno com muitas melhorias na linha de comando diff(1), como coloração e mesclagem de sintaxe.

  • Além do FTP e HTTP, o Vim também pode editar arquivos remotos via SCP, SFTP, WebDAV, RCP e RSYNC.

A melhor razão para usar o Elvis no Vim hoje é que ele é muito menor. A pegada do Elvis 2.2 é aproximadamente a do Vim 7.4 no meu sistema. Isso faz com que seja uma boa escolha para sistemas embarcados com recursos limitados, por exemplo.

Elvis é um editor perfeitamente capaz, dentro de suas limitações. Mas, enquanto Elvis está parado estagnado há quase uma década, o Vim continua a melhorar.


7

Como um clone de VI, compreensivelmente, não parece haver muitas diferenças funcionais entre elvis e vim. De acordo com o Learning the vi Editor, 6ª edição , a única diferença é que o elvis não possui pesquisa incremental.

É improvável que haja muita curva de aprendizado passando de elvis para vim - afinal eles são baseados no vi e, no mínimo, compartilham os mesmos comandos básicos, como navegação, modos e pesquisa.

Provavelmente, se você instalasse o vim e o tratasse como seu editor principal por um dia - você já saberia quais recursos (se houver) o elvis oferece que você sentiria falta e quaisquer inconvenientes que o vim possa oferecer (se houver).

Não conheço o elvis, mas algumas das vantagens do vim são a abundância de plugins , e isso é mantido. A versão mais recente do vim (7.3) foi lançada em 2010 , a versão mais recente do elvis (2.2.0) foi lançada em 2003 .

Nota: como comentado por alexios - mudar a distribuição não significa que você não pode simplesmente continuar usando o elvis.


3

Como elvisusuário antigo (provavelmente desde 1991), há um elvisrecurso que me falta vim, os modos de exibição.

É muito conveniente elvispara "wysiwyg" editar htmle troffpáginas de manual, e a tela divididahex modo de também é muito útil.

Infelizmente, elvisé abandonware desde 2004 e sente falta do suporte a UTF-8, o que me faz usar a maior parte do tempo vim.


1
Existe uma maneira de amarrar um editor hexadecimal com o Vim . Ou, como eu, use bvi. Para HTML, uma opção independente do editor é configurar algum tipo de recarregamento automático com um navegador real. O entendimento de Elvis sobre HTML era imperfeito há uma década, quando parou de se mover. Tem que estar terrivelmente desatualizado agora.
Warren Young

1
@WarrenYoung Nenhuma versão de texto html pode ser perfeita. elvisainda é conveniente o suficiente para a maioria dos documentos html simples.
Jlliagre

Elvis não é mais abandonware, até o momento em que este artigo foi escrito, o último commit é de 11 dias: github.com/mbert/elvis
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.