Was mich von nvi / vim zu nvi / emacs gewechselt hat, weil meine jeweiligen "zwei Wörter in einer Datei ändern" / stundenlang mit dem Bearbeiten eines großen Verzeichnisbaums voller Dateien beschäftigt sind, war die Integration von Unterprozessen. In der Lage zu sein, einen Textbereich in einem Interpreter mit einem Tastendruck auszuwerten, automatisch zu Fehlern zu springen, um sie zu korrigieren, und den Interpreter die ganze Zeit über laufen lassen, war äußerst hilfreich.
Andere Dinge, die ich heute vermisse, wenn ich emacs nicht verwende: Konsistenz der Keybindings über Modi und Kontexte hinweg (Ausschneiden / Einfügen / Bewegung / usw. funktionieren im Minibuffer genauso wie in einem Puffer), interaktives Aktualisieren potenzieller Vervollständigungen über den Ido-Modus (" Cx b "zeigt mir eine Liste von Puffern an, zu denen ich wechseln könnte. Wenn Sie einen einzelnen Buchstaben" .c "eingeben, werden alle, die keine .c enthalten, irgendwo im Namen versteckt." Cs "dreht die Liste," Enter "greift das Element auf ganz vorne auf der Liste. Ich bin frustriert über die Unbrauchbarkeit meines Window Managers oder Firefox, da ich jetzt auf diese Weise den Kontext wechseln kann (alles andere ist unbeholfen).
Ein weiterer Vorteil ist meiner Meinung nach der vielfältige Vorteil, dass die meisten Emacs in Emacs LISP implementiert werden. Das bedeutet, dass emacs lisp als Erweiterungssprache verwendet werden kann und über die Funktionen verfügt, die für eine echte Programmierung erforderlich sind. Dies bedeutet, dass die Erweiterungssprache einigermaßen effizient und skalierbar bleibt. Das bedeutet, dass, wenn Menschen Emacs erweitern, um ihre Produktivität zu verbessern, ihre Funktionen trivial in die offiziellen Emacs integriert werden können. Im Laufe der Zeit bedeutet dies, dass emacs von der Community auf einer Skala entwickelt wurde, die mit keinem anderen Projekt für freie Software übereinstimmt (obwohl Firefox möglicherweise irgendwann xul / userscript einholt). Da elisp eine stark reflektierende Sprache ist, kann ich auf interaktive Weise Details zur Funktionalität des Editors abfragen. In einer reflektierenden Sprache ist das Programm selbst die genaueste Dokumentation, die Sie haben können.