Différences entre Emacs et Vim

sans entrer dans un débat religieux sur la raison pour laquelle L'un est meilleur que l'autre, quelles sont les pratiques différences entre Emacs et Vim? Je cherche à apprendre l'un ou l'autre, mais je réalise que la courbe d'apprentissage pour chacun est haute et je ne peux pas décider. Je n'ai jamais utilisé un éditeur de ce type (J'ai toujours utilisé des IDEs), donc tout ce qui aide un débutant est un plus.


avant qu'une guerre de flammes ne commence: Je ne demande pas ce qui est mieux, je demande les différences entre les deux. Je voudrais une comparaison objectif .

566
demandé sur Sasha Chedygov 2009-09-16 03:32:15

28 réponses

(le texte ci-dessous est mon opinion, il ne doit pas être considéré comme un fait ou une insulte)

avec Emacs vous êtes censé l'avoir Ouvert 24/7 et vivre à l'intérieur du programme, presque tout ce que vous faites peut être fait à partir de là. Vous écrivez vos propres extensions, utilisez-le pour la prise de notes, l'organisation, les jeux, la programmation, l'accès shell, l'accès aux fichiers, l'écoute de la musique, la navigation sur le web. Cela prend des semaines et des semaines avant que vous soyez heureux avec elle et alors vous apprendre de nouveaux trucs tout le temps. Vous serez ennuyé quand vous n'avez pas accès à elle et changez constamment votre config. Vous ne pourrez pas utiliser facilement les versions emacs d'autres personnes et il ne sera pas seulement installé. Il utilise le Lisp, ce qui est génial. Vous pouvez en faire 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 de faire une édition rapide et puis quittez. Vous pouvez travailler avec la configuration de base si vous êtes sur quelqu'un la machine d'else. Ce n'est pas tout à fait aussi modifiable, mais c'est encore beaucoup 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 portion plus rapide. Vous ne souffrez pas de " emacs pinkie . Ce n'est pas tellement exaspérant. Il est plus facile à apprendre.

Même si j'utilise Emacs toute la journée (et l'amour), sauf si vous avez l'intention de passer beaucoup de temps dans le programme que vous choisissez je choisirait vim

414
répondu James Brooks 2018-01-15 13:05:29

Vim n'est pas une coquille. Et il ne communique pas bien avec les sous-processus. C'est presque par conception, alors que dans 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 (donnant une sorte D'IDE), sont difficiles dans Vim.

de plus, les raccourcis Emacs sont principalement accessibles par des modificateurs, et évidemment l'interface 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 bizarres à sa programmabilité, avec l'ajout de fixations Python et Ruby (et plus encore, je l'oublie), Vim est également programmable dans la plupart des façons dont vous vous souciez.

J'utilise Vim, et je suis assez heureux avec elle.

116
répondu Svend 2018-01-15 13:04:38

Vim:

  • meilleur comme un simple éditeur (moins de touches nécessaires 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, de ...
  • aussi extensible en Python, ruby
  • peut être transférable (emacs a quelques problèmes avec that)

Emacs:

  • non-modale par défaut (la plupart des éditeurs ont adopté cette méthode). Bien qu'il y ait mode mauvais qui émule le comportement vim.
  • langue plus puissante pour l'étendre (elisp est une langue à part entière, et dans emacs vous pouvez pratiquement tout redéfinir; tandis que dans vim vous ne pouvez pas redéfinir construire dans les fonctions de l'éditeur. Du côté négatif, vimscript est relativement similaire aux langages dynamiques d'aujourd'hui alors qu'elisp ne ressemble à peu près à rien)
  • plus extensible
  • excellent support pour les outils GNU (le bouquet)

Personnellement, je préfère vim - il est petit, fait ce qu'il est censé faire, et quand je souhaite une pleine soufflé IDE je suis ouvert VS. Emacs approche d'être un éditeur qui veut être un IDE (ou devrait-je dire, un OS), mais n'est pas tout à fait, est IMHO, dépassé. Dans les vieux jours d'avoir un client de messagerie, client ftp, tetris ... ce qui n'était pas dans un paquet (emacs) avait un certain sens ... de nos jours, il n'est pas plus.

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éclencher des guerres de flamme si mis en contact (dans la même phrase / question).

95
répondu Rook 2017-09-26 23:16:53

si vous cherchez une analyse objective des deux éditeurs, regardez leurs origines et la philosophie derrière leurs dessins respectifs. Réfléchissez, lequel vous conviendrait le mieux et apprenez-le (et apprenez-le et apprenez-le, parce qu'il faut du temps avant que vous soyez pour découvrir sa véritable utilité contre toute IDE). An Introduction to Display Editing with Vi a été écrit par Bill Joy et Mark Horton et il explique pourquoi il a choisi le design modal et la raison d'être divers coups de touches (il m'aide à me rappeler que CTRL-W +W (va passer à la prochaine W indow et il en sera de même pour CTRL W+ CTRL W, juste au cas où vous avez tenu la touche CTRL pour une plus longue durée.

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

Je n'ai pas lu les journaux d'emacs, mais j'ai lu le journal vi de Bill Joy quelques fois. Les deux sont vieux, mais encore, vous obtiendrez la philosophie et vous pourriez choisir d'utiliser l'outil actuel (vim 7.x ou emacs 25?)

Edit: j'ai oublié de mentionner qu'il faut de la patience et de l'imagination pour lire ces deux documents car il vous ramène dans le temps tout en le lisant. Mais il vaut la peine.

45
répondu Senthil Kumaran 2014-03-09 14:50:31
  1. Vim a toujours été plus rapide à démarrer que Emacs. Je dis que sur n'importe quelle machine, les installations out-of-the-box de Vim démarreront plus vite que les installations out-of-the-box D'Emacs. Et j'ai tendance à penser que, après une quantité modérée de personnalisation, Vim va encore lancer plus rapidement qu'Emacs.

  2. après cela, L'autre différence pratique était les modes D'Emacs. Ils rendent votre vie énormément plus facile lors de l'édition XML, C/C++/Java/whatever, LaTeX, et la plupart des langues populaires que vous pouvez penser. Ils vous donnent envie de garder l'éditeur ouvert pour les longues sessions et le travail.

en somme, je dirai que Vim vous y entraîne pour des tâches d'édition courtes et rapides; tandis Qu'Emacs vous encourage à plonger dans de longues sessions.

41
répondu Yawar 2009-09-16 01:14:35

VI est toujours disponible et s'exécutera sur le mode le plus infirme, mono - utilisateur, graphiques cassés, pas de clavier, machine de lien lent-il est donc intéressant de savoir comment éditer des fichiers simples dans elle juste 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 de ne jamais la quitter. Il est possible d'avoir des milliers de séances présentes.

si l'apprentissage des capacités D'Emacs sont valables par rapport à l'utilisation d'un éditeur de GUI/IDE et l'utilisation de quelque chose comme python/awk/etc pour des tâches supplémentaires dépend de vous.

35
répondu Martin Beckett 2014-04-16 19:03:18

je suis un grand fan d'Emacs, mais J'ai connu VI bien avant de connaître Emacs. Cela dit, je fais tout mon peuple apprendre VI parce qu'il est toujours disponible, partout. Ne pouvez pas vous tromper avec l'un d'eux.

19
répondu Joe Casadonte 2009-09-16 02:21:41

j'ai commencé avec vi, je suis allé à emacs, puis à vim. J'ai pensé essayer Emacs pour voir ce qui a changé ces cinq dernières années. (En parlant D'IDE, je suis entré dans eclipse depuis un moment, mais je préfère ma fenêtre de terminal connectant mon mac à ma (mari) linux box).

le truc de la coupe et de la pâte me dérange ces derniers temps. Couper et coller dans Vim prend plus de mesures que dans Emacs, IIRC. Et coller d'un navigateur à une fenêtre de terminal est irritant sauf si tu fais quelque chose de fantaisiste que je n'ai pas envie de faire, donc j'ai supporté l'indentation bizarre. Je pense, éditer plusieurs fichiers dans emacs était plus facile. Au moins sauter d'un fichier à l'autre si vous avez les deux sur l'écran.

Je n'ai pas joué avec les fonctionnalités fantaisistes De vi ou d'emacs, comme j'aime juste arriver au travail du codage. Tout ce dont j'ai besoin est les jolies couleurs et l'onglet approprié à la conversion de l'espace (particulièrement important avec python).

je pense que tout dépend si vous voulez utiliser :wq ou Ctrl-x Ctrl-s (IIRC) pour enregistrer un fichier si vous ne vous souciez pas de la fantaisie.

@mgb était correct. J'ai été dans le minimum de linux pour réparer quelque chose il y a juste un mois ou deux dans une distribution Debian. vi était le seul éditeur disponible.

13
répondu Elizabeth Buckwalter 2016-10-27 15:17:26

pour moi les pros d'emacs sont,

  • le mode tramp vous permet d'éditer des fichiers distants sur ssh. tout comme les fichiers locaux.
  • tramp-mode + dired = complet client sftp
  • support pour toutes les langues dont vous aurez besoin.
  • intégré dans l'émulateur terminal (term-mode) afin que je puisse continuer à coder sans passer d'une application à l'autre.
  • extensibilité tout ce que vous n'aimez pas peut changer en utilisant lisp.
9
répondu Hamza Yerlikaya 2009-09-16 00:57:02

semble une réponse a déjà été sélectionnée, mais la grande différence pour moi a toujours été le modal vs. non-modal. Vim est modal, ce qui signifie qu'il fait des optimisations basées sur un ensemble spécifique de modes d'utilisation. Au moins c'est comment j'ai toujours regardé. Cela fait de L'utilisation de Vim une expérience différente parce qu'au lieu d'avoir une zone de travail dans laquelle vous tapez du code, vous dites vraiment à un environnement d'agir sur le texte. C'est pourquoi les gens disent des choses comme avec Vim tu apprends vraiment langue. Le: wq et le: s/foo / bar font tous partie d'un environnement de type shell qui édite et lit du texte.

Emacs d'un autre côté est beaucoup plus proche de la plupart des éditeurs/traitement de texte/etc. vous le voyez aujourd'hui. Vous avez un espace de travail qui a une interface Hautement programmable. C'est pourquoi vous voyez des choses comme les e-mails, irc, shells, etc. En tant que programmeur, il est facile de penser en termes de "prendre le numéro de ligne je suis sur et faire quelque chose avec l'information". Le désir de quitter l'éditeur devient moins parce qu'au lieu d'avoir à quitter, ouvrir une autre application/langue et faire des choses sur un texte, vous avez Emacs où vous pouvez faire ces choses dans le cadre de votre éditeur.

les deux idées ne sont pas nécessairement contrastées, mais c'est simplement qu'elles révèlent deux axes différents. Personnellement, J'utilise Emacs, mais j'ai vu des gens qui connaissent très bien Vim et peuvent honnêtement dire que peu importe ce que vous choisissez. J'ai d'abord essayé Vim, mais Emacs a fini par me défendre. Il est vrai que, peu importe ce que vous choisissez, vous devez être au moins assez compétent dans Vim, il est vraiment toujours disponible.

9
répondu elarson 2010-08-17 01:35:07

il y a une énorme différence au niveau quotidien- Vim (ou n'importe quelle variante de vi) est intrinsèquement modal (vous allez dans les modes de commande où vous ne pouvez pas éditer) et Emacs (avec la plupart des autres éditeurs) ne le sont pas.

bien sûr, en utilisant des menus et tels que vous ne devez pas réellement entrer en mode commande dans Vim - au début. Mais à utiliser même pour une petite fraction de la puissance de Vim. C'est au cœur du débat Vim/Emacs.

Personnellement, je pense aussi Qu'Emacs est beaucoup plus extensible. Vous pouvez trouver des paquets Elisp pour beaucoup de choses.

je suis curieux, cependant, pourquoi vous pensez à apprendre un de ces plus traditionnels IDE. Qu'est-ce que vous voulez apprendre l'un de ces?

9
répondu Kendall Helmstetter Gelner 2010-11-10 22:20:28

il y a beaucoup de choses qui ont été dites sur les deux éditeurs, mais j'ai juste mes 5 pence à ajouter. Les deux éditeurs sont merveilleux et vous ne pouvez pas vous tromper avec l'un d'eux.

je suis un utilisateur vi/vim depuis environ 15 ans maintenant. J'ai essayé de convertir en emacs plusieurs fois, mais chaque fois j'ai plutôt découvert que vim peut réellement faire la chose manquante hors de la boîte sans avoir besoin d'écrire une extension lisp ou d'installer quelque chose.

pour moi le principale différence dans les éditeurs que vim vous fait utiliser l'environnement/OS, alors qu'emacs tente de l'encapsuler ou de le remplacer. Par exemple, vous pouvez ajouter une date dans votre texte par :r!date dans vim, ou calendrier avec :r!cal 1 2014, ou même remplacer le contenu de votre tampon par la version hexagonale du contenu. Par exemple. :%!xxd, édite hex et puis reviens avec:%!xxd-r, et beaucoup d'autres utilisations, comme Grep intégré, sed, etc.

vous obtenez également la fonctionnalité D'édition ex batch, par exemple. Remplacer certains mots, reformater le code, convertir les caractères dos->unix newline, exécuter une macro sur say 100 fichiers à la fois. Il est facile de le faire avec ex. Je ne suis pas sûr qu'emacs ait quelque chose de similaire.

en D'autres termes, IMHO vim se rapproche de la philosophie unix. Il est généralement plus simple et plus petit, mais si vous connaissez votre système D'exploitation et vos outils, vous n'aurez probablement pas besoin de plus qu'il(VIM) a à offrir. Je ne fais jamais.

en outre vi est de facto la norme sur toute système unix/linux, pourquoi apprendre à utiliser 2 outils qui font la même chose. Bien sûr, certains systèmes offrent mg ou quelque chose de similaire, mais certainement pas tous. Unix + Vi < 3.

Eh bien, juste mes 5 pence.

9
répondu Alex 2013-10-25 08:58:55

pour moi, emacs dispose de meilleurs outils de développement(pas seulement des outils basés sur les tags).

8
répondu bmeric 2009-09-16 03:52:30

je voudrais mettre ici une citation du livre "L'Art de la programmation UNIX":

beaucoup de gens qui utilisent régulièrement à la fois vi et Emacs ont tendance à les utiliser pour différentes choses, et trouver utile de connaître les deux.

en général, vi est le meilleur pour les petits travaux-réponses rapides à la poste, simple modifie la configuration du système,etc. Il est particulièrement utile lorsque vous utilisez un nouveau système (ou un système distant sur un réseau)) et ne pas avoir vos fichiers de personnalisation Emacs à portée de main.

Emacs est livré à lui-même pour des sessions d'édition étendues dans lesquelles vous doivent gérer des tâches complexes, modifier plusieurs fichiers et utiliser les résultats à partir d'autres programmes au cours de la session. Pour les programmeurs utilisant X on leur console (qui est typique sur les Unixes modernes), il est normal de démarrage Emacs peu après l'heure de connexion dans une grande fenêtre et de le laisser en courant pour toujours, peut-être en visitant des douzaines de dossiers et même exécuter programmes dans plusieurs sous-fenêtres Emacs.

ce que je veux vraiment souligner ici est le: " beaucoup de gens trouvent précieux de connaître à la fois ."

8
répondu Andrey Tykhonov 2014-06-16 22:45:38

Maintenant vous n'avez même pas besoin de penser à la différence entre ces deux à cause de Spacemacs . Il s'agit d'une distribution Emacs gérée par la communauté.

comme il est dit,

le meilleur éditeur N'est ni Emacs ni vim, C'est Emacs et Vim.

Spacemacs combine le meilleur D'Emacs et de Vim, ce qui rend votre vie et votre travail beaucoup plus facile.

il a également un logo décent.

voir la capture d'écran ci-dessous,

http://spacemacs.org/doc/img/spacemacs-python.png

8
répondu Xinyang Li 2016-04-06 06:55:37

avantages D'Emacs

  • Emacs a à la fois une interface non-modale (par défaut) et modale (par exemple, il peut émuler vim et vi à travers Evil, Viper, ou Vimpulse).

  • un des programmes informatiques les plus portés. Il fonctionne en mode texte et sous interfaces utilisateur graphiques sur une grande variété de systèmes d'exploitation, y compris la plupart des systèmes de type Unix (Linux, les différents BSDs, Solaris, AIX, IRIX, macOSetc.), MS-DOS, Microsoft Windows, AmigaOS, et OpenVMS. Les systèmes Unix, qu'ils soient libres ou propriétaires, fournissent souvent Emacs groupés avec le système d'exploitation.

  • l'architecture du serveur Emacs permet à plusieurs clients de se connecter à la même instance Emacs et de partager la liste des tampons, l'anneau de mise à mort, l'histoire de Annulation et d'autres États.

  • système D'aide en ligne omniprésent avec reliures, fonctions et commandes documentées à la volée.

  • Extensible et personnalisable Lisp, langage de programmation variante (Emacs Lisp), avec des fonctions telles que:

  • un gestionnaire de fichiers puissant et extensible (dired), un débogueur intégré, et un large ensemble d'outils de développement et autres.

  • avoir chaque commande être une fonction Lisp Emacs permet aux commandes de DWIM (faire ce que je veux dire) en répondant de façon programmatique aux actions passées et à l'état du document. Par exemple, une commande switch-or-split-window peut passer à une autre fenêtre si une fenêtre existe, ou en créer une si nécessaire. Cela réduit le nombre de touches et des commandes d'un utilisateur doit se souvenir.

  • "Un OS à l'intérieur d'un OS". Emacs Lisp permet de programmer Emacs bien au-delà des fonctionnalités d'édition. Même une installation de base contient plusieurs douzaines d'applications, y compris deux navigateurs web, Nouvelles lecteurs, plusieurs agents de courrier, quatre clients IRC, une version D'ELIZA, et une variété de jeux. Toutes ces applications sont disponibles partout où Emacs exécute, avec la même interface utilisateur et fonctionnalité. À partir de la version 24, Emacs inclut un gestionnaire de paquets, ce qui facilite l'installation d'applications supplémentaires, y compris les navigateurs web alternatifs, EMMS (Emacs Multimedia System), et plus encore. De nombreux paquets sont également disponibles pour la programmation, dont certains sont destinés à une langue/bibliothèque spécifique. combinaisons ou styles de codage.

avantages des éditeurs de type vi

  • les commandes D'édition sont composables
  • Vi a une interface modale (qu'Emacs peut émuler)
  • historiquement, vi charge plus vite Qu'Emacs.
  • bien que profondément associé à la tradition UNIX, il fonctionne sur tous les systèmes qui peuvent mettre en œuvre la bibliothèque standard C, y compris UNIX, Linux, AmigaOS, DOS, Windows, Mac, BeOS, OpenVMS, IRIX, AIX, HP-UX, BSD et les systèmes conformes à POSIX.
  • Extensible et personnalisable à travers le script Vim ou APIs pour les langues interprétées telles que Python, Ruby, Perl ,et Lua
  • omniprésent. Essentiellement tous les systèmes Unix et Unix-comme viennent avec vi (ou une variante) intégré. Vi (et ex, mais pas vim) est spécifié dans la norme POSIX.
  • environnements de sauvetage de système, intégré les systèmes (notamment ceux avec busybox) et d'autres environnements limités incluent souvent vi, mais pas emacs.

Source: https://en.wikipedia.org/wiki/Editor_war

8
répondu artamonovdev 2017-09-26 23:49:08

la plus grande différence pour moi dans le choix d'utiliser emacs plutôt que vim a été le support gdb intégré dans emacs. Vim ne l'a pas inclus dans sa distribution par défaut et le projet d'intégration de gdb et vim était pratiquement impossible à obtenir avec MacVim

5
répondu Grant Limberg 2009-09-15 23:35:45

Emacs a viper-mode, donc dans un certain sens, il fournit un super-ensemble de fonctionnalités (à l'exception de celles décrites dans quelles fonctionnalités Vim manquent dans Emacs avec Viper et Vimpulse? ).

vi (et VIM IIRC) est plus léger (il peut éditer des fichiers en place), mais offre moins de fonctionnalités (communication de sous-processus, langage d'extension).

5
répondu Trey Jackson 2017-05-23 11:55:07

Une jaunisse point de vue:

vi (pas vim) est une nécessité professionnelle. Vous avez toujours une forme de vi facilement disponible, peu importe l'environnement. Vous pouvez être en vi quand vous êtes dans emacs, vous pouvez être dans vi pour construire des commandes bash dans unix-land.

même Microsquish doit soutenir vi (bien qu'ils fassent un bon travail de en raison de la conformité du gouvernement et des entreprises aux norme.

À mon avis, si vous êtes dans un travail pratique dans un environnement occupé--pas une fleur de serre confinée à une plate-forme de fantaisie dans un développement environnement,ou dans le milieu universitaire -- savoir beaucoup de choses sur un éditeur de luxe est un travail handicap. Ne pas apprendre tous les trucs de fantaisie dans vim ou emacs, et ne pas développez un tas de macros pour faire plier l'environnement d'édition à votre volonté. C'est un énorme évier temporel qui se met en travers de votre chemin quand vous vous occupez de les différentes machines que vous pouvez probablement pas justifier dans une usine environnement.

Lire L'article de Bill Joy--il est très compétent, peut-être même beau, exercice d'ingénierie dans l'édition de texte en clair très, très rapide. La règle de Parito s'applique ici: 80% du fruit est en 20% des paniers. Éditer du texte en clair est très rapide compétence rédactionnelle--tout le reste est facultatif--et parfois blessante.

3
répondu user3305072 2014-02-13 08:44:00

C'est comme des pommes et des oranges. Les deux ont un design et une philosophie différents. Vim est un éditeur de texte tandis Qu'Emacs est un interpréteur Lisp qui édite du texte.

J'utilise Vim parce que son rapide, sleak, et vraiment bon à manipuler des textes. Il dispose d'une reliure à clé naturelle composable qui peut rendre vos tâches de développement vraiment harmoniques. Vim est basé sur le simple * nix philosphy de faire une chose vraiment bien-I. e Manipulation de texte.

Extension de Vim avec bash/zsh et tmux est généralement facile et vous permet d'apprendre beaucoup de choses. IMHO il s'agit d'une bonne courbe d'apprentissage. L'essentiel est d'apprendre comment intégrer ces choses pour obtenir une application de travail plus large. Avec Vim vous aurez besoin d'apprendre l'intégration parce qu'il ne s'intègre naturellement que si vous lui dites comment. Une autre extension intéressante que j'utilise est Tig . C'est une interface basée sur Git. J'ai juste une reliure qui ouvre Tig silencieusement et puis je fais tous les trucs de Git là-bas.

Son jusqu'à l'utilisateur final de décider ce qui fonctionne le mieux. Qu'Emacs et Vim aient résisté à l'épreuve du temps est la preuve de leur valeur. Finalement, un bon programmeur n'a besoin que d'un stylo et d'un papier pour être créatif. Les bons algorithmes n'ont pas besoin d'éditeurs pour les soutenir. Alors essayez les deux et voyez ce qui vous rend plus productif. Et apprenez des modèles de design à partir de ces deux logiciels car il y a beaucoup à apprendre et à découvrir!

3
répondu Nishant 2014-12-26 20:32:30

Emacs est vraiment plus d'un do tout programme, et vi(m) est vraiment juste un éditeur. Si vous éditez du texte, ils vont tous les deux très bien, mais je préfère emacs, simplement parce que je dois en déplacer un de la rangée d'origine pour me déplacer, et continuer à taper les mauvaises choses en mode commande. Je vous n'avez pas ce problème, vi(m) peut être à l'éditeur pour vous.

2
répondu qwertyuiop924 2014-01-19 14:05:57

si vous vous déplacez beaucoup d'un site à l'autre ou si votre travail consiste à vous connecter à des systèmes de production, alors vim est la solution.

toutes les machines *nix auront vi installé par défaut.

la plupart des sysdamines préfèrent KSH comme shell par défaut. ksh utilise les touches de commandes vi (ou emacs) pour rechercher l'historique et éditer la ligne de commande.

si vous ne connaissez pas bien vous êtes gravement handicapé lorsque vous vous connectez à une boîte unix avec un standard configuraton.

pour cette seule raison, je recommande vim comme votre rédacteur habituel. J'ai vu les fans d'emacs s'arracher les cheveux en essayant de modifier les fichiers de configuration sur un serveur unix bare bones.

1
répondu James Anderson 2010-08-17 01:51:31

vim est un éditeur pratique, vous tapez simplement vim filename pour ouvrir le fichier, éditer, enregistrer et fermer.

emacs est un "système d'exploitation" prétendre d'être un éditeur, vous pouvez eval code pour changer son comportement, et l'étendre comme vous le souhaitez. Un mode pour recevoir/envoyer un e-mail sur emacs est comme un logiciel de messagerie sur le système d'exploitation.

lors de l'édition simple, par exemple, modifier une configuration file, j'utilise vim .

sinon, je ne quitte jamais emacs .

1
répondu Richard 2013-08-11 14:33:08

Dans votre question, vous n'avez pas mentionné que vous voulez programmer en Lisp! Mais comme vous avez commenté vos réponses, j'ai compris que vous vouliez réellement une interface de programmation LISP.

pour cette tâche précise, il suffit d'oublier Vi. L'intégration d'Emacs avec LISP est merveilleuse! Tu devrais utiliser de la bave. Vous aurez alors une intégration parfaite avec le REPL, en étant capable de eval fonctions, tampons ou fichiers directement dans un interpréteur courant en un tampon emacs et bien plus encore...

0
répondu Pedro Morte Rolo 2011-12-04 15:48:38

Frappe d'exécution::: vi édition conserve chaque permutation de touches dactylographiées. Cela crée un chemin dans l'arbre de décision qui identifie sans ambiguïté toute commande , alors que les commandes Emacs sont une combinaison de touches dactylographiées exécutées immédiatement, ce qui laisse à l'utilisateur le choix d'utiliser ou non une commande.

utilisation de la mémoire et personnalisabilité::: vi est un programme plus petit et plus rapide, avec une capacité de personnalisation plus limitée, alors que, Emacs prend plus long pour démarrer et nécessite plus de mémoire. Toutefois, il est hautement personnalisable et comprend un grand nombre de fonctionnalités, comme il s'agit essentiellement d'un environnement d'exécution pour un Lisp programme conçu pour l'édition de texte.

0
répondu Sudhir Bastakoti 2011-12-04 15:59:56

je pense que la principale différence est l'objectif de conception. VIM est pour UNIX en tant qu'éditeur fonctionnel. Emacs est pour les hackers GNU et lisp, donc il a un élément de design mixte.

j'utilise vim sur mon poste de travail, alors que j'aime aussi emacs.

0
répondu 7xEquation 2014-10-27 00:51:31

je suis un fan D'Emacs mais j'encourage les autres développeurs à apprendre VI parce que:

  1. vous pouvez utiliser VI pour éditer les makefiles d'emacs.
  2. VI inclut les commandes ed et chaque utilisateur UNIX devrait connaître ed et sed.

j'ai remarqué plusieurs commentaires sur le démarrage de VIM plus rapide qu'emacs. Si vous vous en souciez vraiment, Lancez emacs en mode serveur et alias ' emacs 'en'emacsclient'. Le client est super rapide puisque tout il suffit de taper le serveur sur l'épaule et de lui dire quel fichier vous voulez éditer. Sur MacOSX, emacsclient n'est que de 33K alors qu'emacs est de 287 M.

Je ne suis pas sûr que tout cela soit nécessaire sur le matériel moderne. Sur mon MacBook Pro (2013 Retina), emacs se charge presque instantanément quand je l'exécute à partir de la coque. Je ne détecte aucune pause. Quand je dirige Emacs.application (version graphique), il peut prendre toutes les 3 secondes.

la plupart des plaintes que j'entends à propos d'emacs semblent venir de les gens sont mal informés à propos d'emacs. Ayant utilisé à la fois vi et emacs depuis 1982, je me souviens certainement d'une époque où emacs chargeait beaucoup plus lentement que vi et utilisait la plupart de la mémoire physique dans mes premières boîtes UNIX, mais ce n'est plus le cas et n'a pas été pendant au moins 15-20 ans.

une plainte que je concède est"emacs pinkie". Cela ne m'a jamais gêné quand j'étais plus jeune. Maintenant que j'ai 58 ans, mon petit doigt me fait un peu mal en accédant à plusieurs reprises à la clé de contrôle pour emacs chording. Cela est particulièrement vrai sur le clavier MacBook Pro où le contrôle est déplacé d'une position à droite pour faire place à la touche "fn". Ce n'est pas aussi ennuyeux quand le contrôle est la touche du bas à gauche.

0
répondu Phil Harbison 2018-06-14 22:03:24

tout D'abord Vi (réalisation originale) non utilisé aujourd'hui. C'est une sorte de dérivation Vim.

pour étendre la fonctionnalité Vim, vous devez recompiler Vim, Emacs not.

Emacs a Vim en self (viper-mode).

Emacs ont généralement besoin d'installation manuelle, Vim généralement préinstallé sur tous les Unix comme OS (mais si vous avez l'accès ssh à l'hôte tramp-mode win Vim :).

si vous essayez Vim vous détestez Emacs, alors commencez à partir d'Emacs en premier.

lire Aussi http://www.dina.dk/~abraham/religion/vi-tutorial.html (lien aller vers le bas afin de l'utiliser ce )

Anwer de recherche dans hxxp://fr.wikipedia.org/wiki/Editor_war

-6
répondu gavenkoa 2013-10-25 10:36:18