Question Différences entre Emacs et Vim


Sans entrer dans une argumentation religieuse sur pourquoi l'un est meilleur que l'autre, quels sont les pratique différences entre Emacs et Vim? Je cherche à apprendre l'un ou l'autre, mais je me rends compte que la courbe d'apprentissage pour chacun est élevée et je ne peux pas décider. Je n'ai jamais utilisé un éditeur de ce type (j'ai toujours utilisé des IDE), donc tout ce qui aide un débutant est un plus.


Avant qu'une guerre de flamme ne commence: je ne demande pas ce qui est mieux, je demande les différences entre les deux. Je voudrais un objectif Comparaison.


546


origine


Réponses:


(le texte ci-dessous est mon opinion, il ne devrait pas être pris comme un fait ou une insulte)

Avec Emacs, vous devez l'avoir ouvert 24 heures sur 24, 7 jours sur 7 et vivre dans le programme, presque tout ce que vous faites peut être fait à partir de là. Vous écrivez vos propres extensions, utilisez-les pour la prise de notes, l'organisation, les jeux, la programmation, l'accès shell, l'accès aux fichiers, l'écoute de musique, la navigation sur le Web. Cela prend des semaines et des semaines jusqu'à ce que vous soyez satisfait et ensuite vous apprendrez de nouvelles choses tout le temps. Vous serez ennuyé quand vous n'y avez pas accès et changez constamment votre config. Vous ne serez pas capable d'utiliser facilement les autres versions d'emacs, et ce ne sera pas seulement installé. Il utilise Lisp, ce qui est génial. Vous pouvez en faire tout ce que vous voulez qu'il soit. (rien du tout)

Avec Vim, il est presque toujours pré-installé. C'est rapide. Vous ouvrez un fichier faire une modification rapide, puis quittez. Vous pouvez travailler avec la configuration de base si vous êtes sur la machine de quelqu'un d'autre. Ce n'est pas tout à fait aussi éditable, mais c'est encore mieux que la plupart des éditeurs de texte. Il reconnaît que la plupart du temps vous lisez / éditez ne pas taper et rend cette partie plus rapide. Vous ne souffrez pas de emacs pinkie. Ce n'est pas si exaspérant. C'est plus facile à apprendre.

Même si j'utilise Emacs toute la journée tous les jours (et j'adore) à moins que vous n'ayez l'intention de passer beaucoup de temps dans le programme que vous choisissez, je choisirais vim


405



Vim n'est pas un shell. Et il ne communique pas bien avec les sous-processus. C'est presque par conception, alors que chez Emacs, ces éléments sont inclus par conception. Cela signifie que certaines choses, comme l'intégration d'un débogueur ou d'un interpréteur (produisant une sorte d'IDE), sont difficiles dans Vim.

De plus, les raccourcis d'Emacs sont principalement accessibles via des modificateurs, et de toute évidence l'interface de Vim est modale, donnant accès à une quantité absurde de touches directes pour la manipulation.

Emacs était le seul éditeur des deux qui était programmable, et alors que Vim a beaucoup de niveaux étranges à sa programmabilité, avec l'ajout de bindings Python et Ruby (et plus, j'oublie), Vim est aussi programmable de plusieurs façons tu prendrais soin de toi.

J'utilise Vim, et j'en suis assez content.


113



Vim: 

  • Mieux qu'un simple éditeur (moins de clés requises pour les tâches simples)
  • communauté de script plus active - langage interne: vimscript
  • un référentiel central de scripts, plugins, schémas de couleurs, ...
  • également extensible en python, rubis
  • peut être rendu portable (emacs a quelques problèmes avec ça)

Emacs: 

  • non modal par défaut (la plupart des éditeurs d'aujourd'hui ont adopté cette approche). Bien qu'il y ait mauvais-mode qui émule le comportement de vim.
  • un langage plus puissant pour l'étendre (elisp est un langage complet, et dans emacs vous pouvez pratiquement tout redéfinir, alors que dans vim vous ne pouvez pas redéfinir les fonctions de construction de l'éditeur.Au bas, vimscript est relativement similaire aux langages dynamiques actuels tandis qu'elisp ne ressemble pas à quoi que ce soit)
  • plus extensible
  • excellent support pour les outils GNU (le tas d'entre eux)

Personnellement, je préfère vim - il est petit, fait ce qu'il est censé faire, et quand je souhaite un IDE complet, j'ouvre VS. L'approche d'Emacs d'être un éditeur qui veut être un IDE (ou devrais-je dire, un système d'exploitation), mais n'est pas tout à fait, est à mon humble avis, obsolète. Autrefois, il y avait un client de messagerie, un client FTP, tetris, ... ce qui n'était pas dans un paquet (emacs) avait du sens ... de nos jours, ce n'est plus le cas.

Les deux sont cependant un sujet de discussions religieuses parmi les programmeurs et les utilisateurs de la communauté des superutilisateurs, et à cet égard, les deux sont excellents pour démarrer les guerres de flammes s'ils sont mis en contact (dans la même phrase / question).


91



Si vous cherchez une analyse objective des deux éditeurs, regardez leurs origines et la philosophie derrière leurs conceptions respectives. Pensez, lequel vous conviendrait le mieux et apprenez-le (et apprenez-le et apprenez-le, car il faut du temps avant de découvrir sa véritable utilité par rapport à n'importe quel IDE). Une introduction à l'édition d'affichage avec Vi a été écrit par Bill Joy et Mark Horton et il explique pourquoi il a choisi la conception modale et la justification de divers traits de touches (cela m'aide à me rappeler que CTRL-W + W (passe à la suivante Window et il en sera de même pour CTRL W + CTRL W, juste au cas où vous auriez maintenu la touche CTRL enfoncée plus longtemps.

Voici un lien vers Emacs chronologie et a la référence au papier Multics Emacs. Voici le papier RMS sur Emacs, où je vois que l'accent est mis sur un éditeur de texte programmable (même en 1981 et avant).

Je n'ai pas lu les papiers emacs, mais j'ai lu le papier vi de Bill Joy à quelques reprises. Les deux sont vieux, mais vous aurez toujours la philosophie et vous pouvez choisir d'utiliser l'outil actuel (vim 7.x ou emacs 25?)

Modifier: J'ai oublié de mentionner qu'il faut de la patience et de l'imagination pour lire ces deux documents, car cela vous fait remonter le temps en le lisant. Mais ça vaut le coup.


42



  1. Vim était toujours plus rapide à démarrer qu'Emacs. Je dis que sur n'importe quelle machine, les installations prêtes à l'emploi de Vim démarreront plus vite que les installations prêtes à l'emploi d'Emacs. Et j'ai tendance à penser qu'après une quantité modérée de personnalisation de l'un ou de l'autre, Vim démarrera toujours plus vite qu'Emacs.

  2. Après cela, l'autre différence pratique était les modes d'Emacs. Ils vous facilitent énormément la vie lors de l'édition de XML, C / C ++ / Java / quelquechose, LaTeX et les langages les plus populaires auxquels vous pouvez penser. Ils vous donnent envie de garder l'éditeur ouvert pendant de longues sessions et de travailler.

Dans l'ensemble, je dirai que Vim vous y amène pour des tâches d'édition courtes et rapides; tandis qu'Emacs vous encourage à plonger pendant de longues sessions.


39



VI est toujours disponible et fonctionnera sur le mode mono-utilisateur le plus paralysé, les graphismes brisés, sans mappe de touches, machine à liaison lente - il est donc intéressant de savoir comment éditer des fichiers simples pour les tâches sysadmin.

Emacs est une interface utilisateur complète dans un éditeur. L'idée est que vous lancez Emacs lorsque vous démarrez la machine et ne la quittez jamais. Il est possible d'avoir des milliers de sessions présentes.

Que l'apprentissage des capacités d'Emacs en vaille la peine comparé à l'utilisation d'un éditeur graphique / IDE et à l'utilisation de quelque chose comme python / awk / etc pour des tâches supplémentaires est à vous.


34



Je suis un fan-boy d'Emacs, mais je connaissais VI bien avant de connaître Emacs. Cela dit, je fais en sorte que tout le monde apprenne le VI parce qu'il est toujours disponible partout. Vous ne pouvez pas vous tromper avec l'un ou l'autre.


18