Emacs vs vim

Emacs vs vim
Il y a eu de nombreux sujets sur lesquels les fans ont partagé leurs opinions et se sont disputés les uns avec les autres contre ceux qui s'opposent à leurs opinions. Ces guerres saintes ont été partout: iPhone vs. Android, Marvel VS. Dc, onglets vs. espaces, etc. Une discussion similaire sur laquelle les utilisateurs, en particulier ceux de la communauté Linux, ont tendance à être chauffés a été l'Emacs vs. Vim Debate, qui est en cours depuis des décennies.

Cet article plonge dans cette longue guerre de l'éditeur en cours et prend une décision sur le programme - Emacs ou Vim - prend l'avantage sur l'autre.

Que sont Emacs et Vim?

VIM est l'un des plus anciens éditeurs de texte basés sur Unix. Cet éditeur de texte est une évolution de VI, un éditeur de texte des premiers jours d'Unix. VIM a rapidement gagné en popularité après son introduction, car non seulement il y avait presque toutes les caractéristiques de VI intégrées, mais a également ajouté des fonctions supplémentaires qui l'ont rendu beaucoup plus puissant que son prédécesseur.

Le charme de VIM découle de son extrêmement léger et ayant une interface avec plusieurs modes, chacun avec un objectif différent et utile. Avec des fonctionnalités comme un arbre d'annulation à plusieurs niveaux, une énorme collection de plugins, de puissants outils de manipulation de texte et une prise en charge de dizaines de langages de programmation, VIM est solide et excelle en tant qu'éditeur de texte.

Emacs, en revanche, est un éditeur multiplateforme avec une interface non modale. Emacs est tout à fait comme vim, étant un ancien éditeur de texte qui est populaire depuis des années. Plutôt que de l'appeler un éditeur de texte, cependant, Emacs est tellement plus, quelque chose comme ce que vous appelleriez un système d'exploitation. Connu pour être très extensible, Emacs est facile à modifier et à personnaliser, et permet la mise en œuvre de diverses fonctions et méthodes, ce qui donne une indication claire de la puissance de cet outil. Emacs prend en charge une abondance de packages et d'extensions, et les utilisateurs peuvent les utiliser pour configurer davantage ce programme, ce qui le rend encore plus puissant qu'auparavant.

Avec une brève introduction sur ce que chaque éditeur propose terminé, regardons maintenant certaines des fonctionnalités que fournissent Emacs et VIM.

1) Plus qu'un éditeur de texte

En tant que éditeurs de texte, Emacs et Vim excellent au travail qu'ils sont censés faire. Les deux éditeurs contiennent une prise en charge de plusieurs langues, en plus de fournir des fonctionnalités qui font ressortir le meilleur d'un développeur. Ces deux éditeurs peuvent à peu près faire tout ce que vous pouvez imaginer.

La différence entre ces deux provient du fait que, contrairement à VIM, Emacs n'est pas seulement un éditeur de texte, mais a plutôt un environnement en forme d'IDE. En d'autres termes, Emacs est une machine LISP à part entière, une interface qui offre plusieurs outils à ses utilisateurs et crée un monde complètement ouvert, où les utilisateurs peuvent être en ligne 24/7 et vivre à l'intérieur du programme.

Par exemple, contrairement aux utilisateurs de VIM, qui doivent ouvrir le terminal séparément pour utiliser le programme, Emacs s'accompagne d'un coquille intégrée.

Les utilisateurs d'EMACS ont également accès à des fonctionnalités comme un navigateur Web, à la prise de notes et à des fichiers d'organisation, ainsi qu'à plusieurs jeux, tels que Tetris.

Navigateur Web:

Org-mode - Organisateur:

Tetris:

Comme le montre les exemples ci-dessus, l'édition de texte n'est qu'un aspect parmi la douzaine de fonctionnalités présentes dans EMACS.

2) Personnalisation

Emacs et VIM sont connus pour être extrêmement personnalisables et polyvalents, ayant une abondance de plugins et d'extensions pour aider à configurer les programmes en ajoutant plus de fonctionnalités.

Emacs va plus loin en utilisant le langage de programmation LISP. Vous pouvez implémenter et redéfinir presque n'importe quoi dans EMACS en utilisant LISP.

Par exemple, disons que vous souhaitez définir une fonction qui, après son course, exécute Bing dans le navigateur Web. Cela peut être facilement mis en œuvre dans EMACS en utilisant LISP. Pour ajouter cette fonctionnalité à EMACS, les lignes de code suivantes doivent être ajoutées au fichier d'initialisation EMCAS (~ /.Fichier EMACS):

(Defun Searcher ()
(interactif)
(parcourir
"https: // www.bing.com / "))

Pour ceux qui utilisent VIM, EMACS fournit également aux utilisateurs des packages qui leur permettent d'obtenir un comportement de type VIM à l'intérieur d'EMACS. Le package le plus connu est le mode mal.

3) Interface conviviale

Comme mentionné ci-dessus, VIM est un éditeur modal, ce qui signifie qu'il a plusieurs modes pour remplir différentes fonctions. Pour les débutants, cela peut sembler difficile, car passer d'un mode à un autre et apprendre à gérer le texte dans chaque mode peut s'avérer assez compliqué au début.

Emacs, en revanche, semble être plus accessible pour les nouveaux utilisateurs, car il a une interface non modale et les liaisons clés ne semblent pas être que l'étranger.

4) Script Elip vs VIM

Le script Elisp et VIM sont les langages de programmation définis pour Emacs et VIM, respectivement. Ces scripts sont utilisés pour l'écriture de fonctions et de plugins afin d'étendre davantage les capacités des éditeurs. Lorsque vous comparez ces deux langues côte à côte, Elisp étend Vim par une large marge. Comparé à Elisp, le script VIM est beaucoup plus difficile à configurer et a très peu de bibliothèques avec lesquelles travailler. Elisp, cependant, se tient au cœur d'Emacs et est considéré comme suffisamment puissant pour mettre en œuvre quoi que ce soit.

Pourquoi Emacs est meilleur que Vim?

EMACS et VIM sont d'excellents outils pour modifier les fichiers de tous les types de langages de programmation. Les deux sont extrêmement puissants et fournissent de grands ensembles d'outils pour que leurs utilisateurs puissent travailler. Cependant, EMACS a non seulement les outils d'édition de VIM, mais aussi les élargit en fournissant des fonctionnalités supplémentaires, telles que le client de messagerie, le débogueur, etc.

Même avec toutes ces fonctionnalités présentes, Emacs vous permet de le personnaliser davantage et de lui ajouter des fonctionnalités, ce qui est une bonne indication de la puissance et de la complexité qui existent au cœur d'Emacs. Étant infiniment extensible, Emacs se dresse la tête et les épaules au-dessus de VIM.