Es scheint, dass eine Antwort bereits ausgewählt wurde, aber der große Unterschied für mich war immer der zwischen modal und nicht-modal. Vim ist modal, was bedeutet, dass er Optimierungen auf der Grundlage einer bestimmten Menge von Benutzungsmodi vornimmt. Zumindest habe ich das immer so gesehen. Das macht die Benutzung von Vim zu einer anderen Erfahrung, denn anstatt einen Arbeitsbereich zu haben, in den man Code eintippt, sagt man wirklich einer Umgebung, dass sie auf den Text reagieren soll. Das ist der Grund, warum die Leute sagen, dass man mit Vim wirklich eine Sprache lernt. Das :wq und :s/foo/bar ist alles Teil einer Shell-ähnlichen Umgebung, die Text editiert und liest.
Emacs hingegen ist den meisten Editoren, Textverarbeitungsprogrammen usw., die man heute kennt, sehr viel näher. Sie haben einen Arbeitsbereich, der eine hochgradig programmierbare Schnittstelle hat. Deshalb gibt es Dinge wie E-Mail, IRC, Shells, usw. Als Programmierer ist es einfach zu sagen: "Nimm die Zeilennummer, in der ich mich befinde, und mach etwas mit den Informationen". Der Wunsch, den Editor zu verlassen, wird geringer, denn anstatt den Editor zu verlassen, eine andere Anwendung/Sprache zu öffnen und etwas mit dem Text zu machen, hat man Emacs, wo man diese Dinge im Rahmen des Editors tun kann.
Die beiden Ideen sind nicht notwendigerweise gegensätzlich, sondern zeigen lediglich zwei unterschiedliche Schwerpunkte auf. Ich persönlich benutze Emacs, aber ich habe Leute gesehen, die Vim wirklich gut kennen und kann ehrlich sagen, dass es egal ist, welche man wählt. Ich habe zuerst Vim ausprobiert, aber Emacs hat sich bei mir durchgesetzt. Es stimmt, dass man, egal was man wählt, Vim zumindest einigermaßen beherrschen sollte, da es wirklich immer verfügbar ist.
6 Stimmen
Wenn Sie einen Mac (OSX) verwenden, werden Sie feststellen, dass viele grundlegende Emacs-Befehle zur Cursorbewegung so gut wie überall funktionieren. (Zum Beispiel funktionieren sie hier, wo ich diesen Kommentar in die Webseite tippe.) Für Mac-Benutzer ist es also systemweit von Vorteil, zumindest die folgende Teilmenge von emacs zu lernen: ^A ^B ^D ^E ^F ^K ^L ^N ^O ^P ^T ^V ^Y
2 Stimmen
@JamesAnderson: Meiner Erfahrung nach ist das Gegenteil der Fall. Ich benutze vim seit 2,5 Jahren und bin dann zu emacs gewechselt. Den Emacs-Leuten ist es meistens egal... "was auch immer für dich funktioniert". Hier ist was
,salespitch
sagt in #emacs<fsbot> We aren't gonna lie. Emacs sucks. Some of us tolerate it, but we can't tell you if YOU'LL be able to. Try it and make up your own mind.
7 Stimmen
Emacs ist definitiv ein großartiges Betriebssystem, dem aber nur ein anständiger Editor fehlt.
0 Stimmen
$man [Befehl] man benutzt vim.
3 Stimmen
@JimmyM.G.Lim Nein, es wird der aktuelle Pager im System verwendet. Wenn Sie
PAGER=cat man
dann wird man den Text direkt auf dem Bildschirm anzeigen.0 Stimmen
Danke für den Hinweis JL. wusste nicht, dass Sie pager ausführen können. aber was ich im Sinn hatte, war man (Handbuch) verwendet die gleichen Befehlstasten wie vim. lernen vim ... lernen viele ...
2 Stimmen
@JimmyM.G.Lim der Standard PAGER ist weniger, in der Regel, deren Tasten sind vim inspiriert. Das ist nicht man. Es ist less.
2 Stimmen
Ich schätze, die "primär auf Meinungen basierende" Polizei gab es noch nicht, als diese Frage zum ersten Mal gestellt wurde ;-) ach, einfachere Zeiten... eine Sache, die ich sagen möchte, ist, dass ich einmal ein Buch über emacs gelesen und es ausprobiert habe und dachte, es sei die Bombe. 3 Wochen Urlaub später stellte ich fest, dass ich alle Tastenkombinationen vergessen hatte. vim hingegen ist nicht wirklich mein Ding, aber ich kann zuverlässig damit arbeiten, wenn ich es brauche, indem ich nur
i, esc, wq
.