Emacs vs vim

Emacs vs vim
Houve inúmeros tópicos sobre os quais os fãs compartilharam suas opiniões e discutiram entre si contra os que se opõem às suas opiniões. Essas guerras santas estão em toda parte: iphone vs. Android, Marvel vs. DC, Tabs vs. espaços, etc. Uma discussão semelhante sobre quais usuários, particularmente os da comunidade Linux, tendem a se aquecer foram os emacs vs. Debate vim, que está em andamento há décadas.

Este artigo mergulha nessa longa e em andamento a guerra do editor e toma uma decisão sobre qual programa - emacs ou vim - leva a vantagem sobre o outro.

O que são Emacs e Vim?

Vim é um dos editores de texto mais antigos baseados em Unix por aí. Este editor de texto é uma evolução do VI, um editor de texto desde os primeiros dias do Unix. Vim rapidamente ganhou popularidade após sua introdução, pois não apenas tinha quase todos os recursos de VI embutido, mas também adicionou algumas funções adicionais que o tornaram muito mais poderoso do que seu antecessor.

O charme de Vim surge de ser extremamente leve e ter uma interface com vários modos, cada um com um propósito diferente e útil. Com características como uma árvore de onda de vários níveis, uma enorme coleção de plugins, poderosas ferramentas de manipulação de texto e suporte para dezenas de linguagens de programação, o vim é sólido e se destaca como um editor de texto.

Emacs, por outro lado, é um editor de plataforma cruzada com uma interface não modal. Emacs é como o VIM, sendo um editor de texto antigo que é popular há anos. Em vez de chamá -lo de editor de texto, no entanto, o Emacs é muito mais, algo como o que você chamaria de um sistema operacional. Conhecida por ser altamente extensível, o EMACS é fácil de ajustar e personalizar e permite a implementação de diversas funções e métodos, o que fornece uma indicação clara de quão poderosa essa ferramenta pode ser. A EMACS tem suporte para uma abundância de pacotes e extensões, e os usuários podem usá -los para configurar ainda mais esse programa, tornando -o ainda mais poderoso do que antes.

Com uma breve introdução sobre o que cada editor oferece concluído, vejamos agora alguns dos recursos que os Emacs e Vim fornecem.

1) Mais do que um editor de texto

Como editores de texto, o Emacs e o Vim se destacam no trabalho que eles devem fazer. Ambos os editores contêm suporte para vários idiomas, além de fornecer recursos que trazem o melhor de um desenvolvedor. Ambos os editores podem fazer qualquer coisa que você possa imaginar.

A diferença entre esses dois surge do fato de que, diferentemente do VIM, o Emacs não é apenas um editor de texto, mas sim um ambiente semelhante ao IDE. Em outras palavras, o Emacs é uma máquina Lisp de pleno direito, uma interface que oferece várias ferramentas para seus usuários e cria um mundo completamente aberto, onde os usuários podem estar online 24/7 e morar dentro do programa.

Por exemplo, diferentemente dos usuários do VIM, que devem abrir o terminal separadamente para usar o programa, o Emacs vem junto com um shell embutido por conta própria.

Os usuários da EMACS também têm acesso a recursos como um navegador da web, anotações e organizações de arquivos, além de vários jogos, como Tetris.

Navegador da web:

Modo de organização - Organizador:

Tetris:

Como visto nos exemplos acima, a edição de texto é apenas um aspecto entre as dezenas de recursos presentes no Emacs.

2) Customizabilidade

Tanto o EMACS quanto o VIM são conhecidos por serem extremamente personalizáveis ​​e versáteis, tendo uma abundância de plugins e extensões para ajudar a configurar os programas adicionando mais funcionalidades.

Emacs dá um passo adiante usando a linguagem de programação Lisp. Você pode implementar e redefinir quase tudo no Emacs usando o LISP.

Por exemplo, digamos que você deseja definir uma função que, depois de correr, executa o Bing no navegador da web. Isso pode ser facilmente implementado em EMACS usando LISP. Para adicionar esse recurso aos EMACs, as seguintes linhas de código precisam ser adicionadas ao arquivo de inicialização do EMCAS (~//.arquivo emacs):

(Defun Searcher ()
(interativo)
(Navegue-url
"https: // www.Bing.com/"))

Para aqueles acostumados a usar o VIM, o EMACS também fornece aos usuários pacotes que lhes permitem alcançar um comportamento do tipo vim dentro do EMACS. O pacote mais conhecido é o Modo do Mal, que é um modo EMACS extremamente poderoso que emula completamente VI e também tenta expandi-lo, adicionando recursos mais compatíveis e poderosos.

3) Interface amigável

Como mencionado acima, o VIM é um editor modal, o que significa que possui vários modos para executar diferentes funções. Para iniciantes, isso pode parecer difícil, pois mudar de um modo para outro e aprender a lidar com o texto em cada modo pode ser bastante complicado no começo.

A EMACS, por outro lado, parece ser mais acessível para novos usuários, pois possui uma interface não modal e as principais ligações.

4) Script Elisp vs Vim

ELISP e VIM Script são as linguagens de programação definidas para EMACS e VIM, respectivamente. Esses scripts são usados ​​para escrever funções e plugins para estender ainda mais os recursos dos editores. Ao comparar esses dois idiomas lado a lado, Elisp estende o VIM por uma ampla margem. Comparado ao ELISP, o script Vim é muito mais difícil de configurar e tem muito poucas bibliotecas para trabalhar. Elisp, no entanto, fica no coração dos Emacs e é considerado poderoso o suficiente para implementar qualquer coisa.

Por que Emacs é melhor do que vim?

EMACS e VIM são excelentes ferramentas para editar arquivos de todos os tipos de linguagens de programação. Ambos são extremamente poderosos e fornecem grandes conjuntos de ferramentas para seus usuários trabalharem com. No entanto, o EMACS não apenas tem as ferramentas de edição que o VIM possui, mas também expande -as, fornecendo recursos adicionais, como cliente de email, depurador, etc.

Mesmo com todos esses recursos presentes, o EMACS permite personalizá -lo ainda mais e adicionar funcionalidades, o que é uma boa indicação do poder e da complexidade que existe no núcleo do Emacs. Sendo infinitamente extensível, o Emacs fica de cabeça e ombros acima do vim.