Um debate que confunde os recém -chegados há décadas gira em torno do VIM versus EMACS, que são dois veneráveis editores de texto que muitos usuários e programadores de Linux experientes ainda preferem como alternativas aos editores modernos e IDEs, como texto sublime, código do Visual Studio ou Intellij.
Neste artigo, comparamos Vim e Emacs para explicar por que comparar esses dois editores de texto é como comparar maçãs com laranjas. No final deste artigo, você poderá decidir qual dos dois editores de texto se encaixa mais em suas necessidades e preferências e se você não deve ficar com algo mais moderno, afinal.
Filosofia de design
O VIM foi lançado pela primeira vez em 1991 como descendente direto do VI, um editor de texto muito mais antigo orientado a tela originalmente desenvolvido por Bill Joy para o sistema operacional UNIX. O criador de Vim, Bram Moolenaar, originalmente nomeou a imitação do editor VI, mas mais tarde ele decidiu mudar o significado do acrônimo para VI melhorado. Fã de software de código aberto, Moolenaar lançou Vim sob uma licença de caridade, incentivando os usuários que gostam do editor de texto a doar para crianças em Uganda.
Assim como o VI, o Vim pretende ser rápido, prontamente disponível e extremamente versátil. Ele vem pré-instalado na maioria das distribuições Linux e está disponível para praticamente todos os sistemas operacionais. Como o vim está em toda parte, realmente vale a pena saber pelo menos o básico, porque você nunca sabe quando precisará editar um arquivo de texto em um sistema que não tenha seu editor de texto favorito.
A EMACS existe desde 1976, e seu nome significa Macros do editor. A versão do Emacs que a maioria das pessoas usa hoje é chamada GNU Emacs, que foi criada por ninguém senão o fundador do Projeto GNU, Richard Stallman. Assim como o Vim, o Emacs funciona basicamente em todos os sistemas operacionais que você jamais encontrará. No entanto, como é um software relativamente grande, geralmente não vem pré-instalado.
A razão pela qual o Emacs é grande tem tudo a ver com o fato de estar muito mais próximo de um sistema operacional do que um editor de texto. Possui uma linguagem de programação completa de Turing, Emacs Lisp, o que torna possível personalizar e estender o Emacs de maneiras que a mente tem problemas para compreender. Para ilustrar o que queremos dizer, encorajamos você a visitar o site da Gneve, um editor de vídeo da EMACS.
Fácil de usar
A imagem acima ilustra perfeitamente as curvas de aprendizado de VI/VIM, EMACS e outros editores de texto populares. Com o VIM, tudo o que você precisa fazer para começar é aberto a qualquer folha de trapaça que você encontre no Google Images em uma janela separada e brinque com as peças de chave por um tempo. Inicialmente, você nem saberá como editar um arquivo de texto, mas não levará mais de algumas horas para saber todo o básico. Você pode até baixar uma versão da GUI do VIM, como GVIM, para adicionar menus e barras de ferramentas para comandos comumente usados, tornando o editor ainda mais fácil de aprender.
Emacs é como um jogo de sandbox. Você começa com uma caixa marrom não marcada, repleta de ferramentas capazes de realizar praticamente qualquer coisa que você possa imaginar, incluindo a edição de arquivos de texto. O único problema é que não há uma maneira óbvia de como abordar esta caixa de areia. Embora existam folhas de truques e tutoriais on -line, mas você pode passar horas com elas, e você mal arranhará a superfície do que os emacs podem fazer. Sim, pode ser extremamente gratificante conhecer os meandros de Emacs, mas você deve se perguntar se a jornada vale o esforço.
Produtividade
O VIM é um editor de texto rápido que abre instantaneamente e apresenta a seus usuários dois modos: Modo de inserção e modo de comando. O primeiro é onde você digita texto no editor, enquanto o último é onde você insere atalhos de teclado para executar vários comandos. O Emacs leva um pouco mais para começar, e é modificado, assim como a maioria dos editores de texto hoje.
Embora os emacs possam levar até 2-3 segundos para carregar em sistemas mais antigos, a maioria dos usuários não se importa porque nunca o fecham. Em vez. Com a Shell em execução dentro do Emacs, você pode viver mais ou menos dentro do software 24/7 e usá -lo para fazer de tudo, desde ouvir música até fazer anotações para jogar jogos.
Escusado será dizer que é fácil se distrair com Emacs se você é o tipo de pessoa que gosta de mexer com software. Mas se você conseguir manter o foco e usar emacs para melhorar seu fluxo de trabalho, sua produtividade pode disparar. Para a edição de texto puro, o vim é geralmente mais rápido, mas a experiência desempenha um papel enorme nesse sentido.
Customizabilidade e extensibilidade
Tanto o VIM quanto o EMACS suportam plugins que podem melhorar sua funcionalidade, o Emacs exige personalização e extensibilidade um passo adiante com sua linguagem de programação emacs lisp. Como a Emacs Lisp está em turnê completa, seus recursos são ilimitados.
Você gostaria de pesquisar no Google diretamente de emacs? Basta executar o seguinte código do EMACS Lips, o tipo M-X Prelude-Google, e este novo comando funcionará instantaneamente:
(Defun Prelude-Google ()
"Google uma consulta ou região, se houver."
(interativo)
(Navegue-url
(Concat
"http: // www.Google.com/pesquisa?ie = utf-8 & oe = utf-8 & q = "
(se mark-ativo
(Buffer-Substring (Região de Região) (extremidade da região))
(Soldição de leitura "Google:"))))))
Para saber mais sobre a impressionante extensibilidade dos emacs, recomendamos que você leia este artigo escrito por Bozhidar Batsov, o autor do snippet de código acima.
Quando os usuários do VIM sentem que estão perdendo determinadas funcionalidades, eles normalmente pegam um dos milhares e milhares de plugins Vim prontamente disponíveis. No entanto, eles também podem usar o VimScript, a linguagem de script interna da Vim. Além disso, o vim e o emacs suportam temas, então não há nada que o impeça de fingir ser neo da matriz.
Conclusão
Como dissemos no começo, comparar o vim com o emacs é como comparar maçãs com laranjas. Um é um editor de texto capaz com muitos recursos avançados destinados a usuários de energia, enquanto o outro é uma caixa de areia que é ótima para editar arquivos de texto. Se você está feliz com seu fluxo de trabalho atual e só quer uma alternativa aos editores de texto modernos como o Sublime Text, Vim é o caminho a seguir. Mas se você deseja reimaginar completamente como editar arquivos de texto e escrever aplicativos de software, os emacs podem fornecer tudo o que você poderia pedir e mais.