Emacs contre Vim

Emacs et Vim sont les deux éditeurs de texte les plus utilisés sur les systèmes Unix et Unix. Il existe une longue histoire de concurrence entre ces deux éditeurs de texte, qui sont beaucoup plus avancés que les autres éditeurs de texte sur la plate-forme Unix. Bien que les deux éditeurs présentent des fonctionnalités similaires grâce à leurs plug-ins, scripts et touches de raccourci, leurs approches sont légèrement différentes.

Tableau de comparaison

Tableau de comparaison Emacs contre Vim
Emacs Vigueur
Aperçu de la version237.2a.13 (2008-07-04)
Écrit enC et Emacs LispScript C et Vim
Plate-formeMultiplateforme, y compris Unix, Linux et Microsoft WindowsMultiplateforme, y compris Unix, Linux et Microsoft Windows
Disponible enAnglais, chinois, français, italien, polonais, russeAnglais, chinois, français, italien, polonais, russe
TypeÉditeur de texteÉditeur de texte
LicenceGNU GPLLogiciel gratuit, charityware, compatible GPL
Site Internet//www.gnu.org/software/emacs///www.vim.org/
Introduction (de Wikipedia)Emacs est une classe d'éditeurs de texte riches en fonctionnalités, généralement caractérisés par leur extensibilité. Emacs possède plus de 1 000 commandes d'édition. Il permet également à l'utilisateur de combiner ces commandes dans des macros pour automatiser le travail.Vim est un éditeur de texte publié pour la première fois par Bram Moolenaar en 1991 pour l'ordinateur Amiga. Le nom "Vim" est un acronyme pour "Vi IMproved" car Vim a été créé comme une version étendue de l'éditeur vi, avec de nombreuses fonctionnalités supplémentaires conçues pour être utiles
Concu parRichard StallmanBram Moolenaar
Première version19761991
Version stable22.3 (2008-09-05)7.2 (2008-08-09)
Onglets de tamponPris en charge à la fois en ligne de commande et en interface utilisateur graphiquePris en charge à la fois en ligne de commande et en interface utilisateur graphique

Interface utilisateur Emacs et Vim

Vim utilise des modes d'édition - le plus souvent le mode de commande et le mode d'insertion . Vim vise à minimiser le nombre de frappes sur lesquelles un utilisateur doit appuyer, car vi, sur lequel Vim est basé, a été conçu pour être utilisé sur des terminaux lents.

Emacs utilise des touches de modification pour activer les raccourcis, ce qui implique souvent d'appuyer simultanément sur plusieurs touches pour une seule fonction. Cet aspect d'Emacs est souvent critiqué.

Facilité d'apprentissage

Emacs est plus facile à apprendre car il a une interface plus naturelle (pour les utilisateurs familiers avec les éditeurs de texte basés sur une interface graphique). Étant donné que Vim a différents modes d'édition, les débutants ont un peu plus de mal à apprendre.

Productivité et vitesse d'édition

Les amateurs de Vim soutiennent qu'une fois qu'un utilisateur se familiarise avec les modes d'édition et les commandes de Vim, cela permet une productivité et une efficacité beaucoup plus grandes. L'édition de fichiers est généralement plus rapide avec Vim qu'avec Emacs en raison de l'interface délibérément accélérée de Vim. Par exemple, le mouvement du curseur peut être contrôlé via les touches H, J, K et L en mode normal . Cela signifie que les mains de l'utilisateur n'ont pas besoin de quitter la position "ligne de départ", ce qui améliore l'efficacité, mais a pour prix d'ajouter des frais généraux car le changement de mode est nécessaire pour choisir entre le mouvement et l'édition de texte. Dans Emacs (avec la configuration par défaut), l'utilisateur déplace le curseur avec les raccourcis Ctrl-B ou Ctrl-F, ce qui peut ralentir l'utilisateur novice car il faut appuyer sur deux touches. Les améliorations de productivité et d'efficacité dans Emacs dépendent de la configuration de l'environnement d'édition plutôt que de l'éditeur lui-même.

Utilisation de la RAM d'Emacs vs Vim

Vim est plus léger qu'Emacs et utilise moins de mémoire. Les partisans de Vim critiquent la consommation de ressources d'Emacs avec la suggestion ironique qu'Emacs signifie "quatre-vingt mégaoctets et échange constant".

Cependant, avec gnuclient, un seul processus Emacs persistant peut être exécuté et peut prendre en charge plusieurs clients simultanément. Cela accélère le temps de démarrage et diminue l'utilisation totale de la mémoire, réduisant ainsi l'écart entre Emacs et Vim.

Extensibilité et personnalisation d'Emacs vs Vim

Alors que Vim et Emacs prennent en charge des plugins qui améliorent leurs fonctionnalités, Emacs prend en charge beaucoup plus de personnalisation de l'environnement de l'éditeur. C'est sans doute la caractéristique la plus importante d'emacs et est responsable d'une grande partie du suivi dévoué d'emacs.

Emacs peut être étendu dans elisp, tandis que Vim possède son propre langage de script interne et prend en charge l'utilisation d'autres langages de programmation pour le développement de plugins.

Emacs peut être étendu à la volée en redéfinissant les fonctions elisp intégrées, soit en tapant la nouvelle définition dans Emacs, soit en chargeant des fichiers elisp. Les groupes de changements associés sont appelés «modes» et peuvent être facilement configurés pour être automatiquement utilisés pour des types particuliers de fichiers (tampons). Il est donc facile de définir des modes pour différents langages de programmation ou frameworks tels que "mode lisp" ou "mode Ruby on Rails" ou "mode PHP". Ces modes peuvent directement modifier même les comportements de base d'Emacs, formater ou coloriser automatiquement le texte et ajouter un modèle standard ou du texte «passe-partout» comme les déclarations de fonction et les fermetures. Les programmeurs trouvent donc Emacs beaucoup plus personnalisable à leurs besoins particuliers que Vim. Pourtant, certains programmeurs peuvent trouver que Vim est finalement mieux adapté à leur environnement de programmation en raison de son fonctionnement tout aussi personnalisable et entièrement modal.

Vim peut également être étendu à la volée en utilisant le mode de commande. Le mode commande permet de définir des options de configuration, de définir des fonctions et de créer des macros. En fait, les fichiers de configuration de Vim ne sont que des commandes qui peuvent être entrées via le mode de commande.

Interface utilisateur graphique (GUI)

Vim et Emacs ont des interfaces utilisateur graphiques. Pratiquement tous les éléments de menu de l'interface graphique pour les deux éditeurs sont simplement des moyens de gérer une commande de raccourci ou une configuration rapide. Les interfaces graphiques des éditeurs ne fournissent pratiquement aucune fonction supplémentaire au-delà de celles disponibles dans la CLI (interface de ligne de commande)

Emacs utilise XDisplay ou gtk2 pour son interface graphique. Vim peut utiliser de nombreuses autres bibliothèques GUI, telles que gtk, gnome, gnome2, motif, athena et neXtaw, en plus de gtk2.

Articles Connexes