Emacs contre Vim

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

Tableau de comparaison

Tableau comparatif Emacs vs Vim
EmacsVim
Version préliminaire 23 7.2a.13 (2008-07-04)
Écrit en C et Emacs Lisp Script C et Vim
Plate-forme Multiplateforme, y compris Unix, Linux et Microsoft Windows Multiplateforme, y compris Unix, Linux et Microsoft Windows
Disponible en Anglais, chinois, français, italien, polonais, russe Anglais, chinois, français, italien, polonais, russe
Type Éditeur de texte Éditeur de texte
Licence GNU GPL Logiciel libre, logiciel de bienfaisance, compatible GPL
Site Internet http://www.gnu.org/software/emacs/ http://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 a plus de 1000 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é par Bram Moolenaar pour la première fois en 1991 sur Amiga. Le nom "Vim" est un acronyme pour "Vi IMproved", car Vim a été créé en tant que version étendue de l'éditeur vi, avec de nombreuses fonctionnalités supplémentaires conçues pour être utiles.
Concu par Richard Stallman Bram Moolenaar
Première version 1976 1991
Version stable 22.3 (2008-09-05) 7.2 (2008-08-09)
Onglets de tampon Pris en charge à la fois en ligne de commande et dans l'interface graphique Pris en charge à la fois en ligne de commande et dans l'interface graphique

Contenu: Emacs vs Vim

  • 1 interface utilisateur Emacs et Vim
    • 1.1 Facilité d'apprentissage
    • 1.2 Productivité et rapidité d'édition
  • 2 utilisation de RAM d'Emacs vs Vim
  • 3 Extensibilité et personnalisation d’Emacs vs Vim
    • 3.1 Interface utilisateur graphique (GUI)
  • 4 références

Interface utilisateur Emacs et Vim

Vim utilise les modes d’édition - le plus souvent la mode de commande et mode d'insertion. Vim vise à minimiser le nombre de frappes sur lesquelles l'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 même fonction. Cet aspect d'Emacs est souvent critiqué.

Facilité d'apprentissage

Emacs est plus facile à apprendre car il possède une interface plus naturelle (pour les utilisateurs familiarisés avec les éditeurs de texte basés sur une interface graphique). Puisque 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 que l’utilisateur se familiarise avec les modes d’édition et les commandes de Vim, cela permet une productivité et une efficacité bien supérieures. L'édition de fichier est généralement plus rapide avec Vim qu'avec Emacs en raison de l'interface de Vim volontairement pilotée par la vitesse. Par exemple, le mouvement du curseur peut être contrôlé via le H, J, K, et L clés dans le mode normal. Cela signifie que les mains de l'utilisateur ne doivent pas quitter la position "rangée de base", ce qui améliore l'efficacité, mais alourdissent les coûts. En effet, il faut changer de mode pour pouvoir 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 en termes 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 RAM par Emacs vs Vim

Vim est plus léger qu’Emacs et utilise moins de mémoire. Les avocats de Vim critiquent la consommation de ressources d’Emacs en suggérant avec insolence qu’Emacs signifie «Quatre-vingt mégaoctets et l’échange constant»..

Cependant, avec gnuclient, un seul processus Emacs persistant peut être exécuté et 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, ce qui réduit l'écart entre Emacs et Vim..

Extensibilité et personnalisation d'Emacs vs Vim

Tandis que Vim et Emacs supportent tous deux des plugins qui améliorent leurs fonctionnalités, Emacs supporte beaucoup plus de personnalisation de l'environnement de l'éditeur. C’est sans doute la caractéristique la plus importante d’Emacs et elle est à l’origine de la plupart de ses efforts.

Emacs peut être étendu dans elisp, alors que Vim a son propre langage de script interne et supporte 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 modifications associées sont appelés "modes" et peuvent être facilement configurés pour être automatiquement utilisés pour des types de fichiers particuliers (mémoires 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 centraux d’Emacs, formater ou coloriser automatiquement le texte et ajouter un modèle standard ou du texte "passe-partout", tels que des déclarations de fonctions et des fermetures. Les programmeurs trouvent donc que Emacs est bien plus personnalisable que Vim en fonction de leurs besoins. Cependant, certains programmeurs peuvent juger que Vim est mieux adapté à leur environnement de programmation en raison de son fonctionnement tout aussi modulable et entièrement modal..

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

Interface utilisateur graphique (GUI)

Vim et Emacs ont tous deux 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 à 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 d'interface graphique, telles que gtk, gnome, gnome2, motif, athena et neXtaw, en plus de gtk2..

Références

  • wikipedia: Vi
  • wikipedia: Emacs
  • http://www.io.com/~dierdorf/emacsvi.html
  • http://thomer.com/vi/vi.html
  • Emacs a le pouvoir de Lisp, ce qui le rend très flexible
  • Guide du débutant à emacs