Merkmale von Emacs, die Vim ergänzen?

5

Ich benutze Vim seit einiger Zeit ausgiebig und arbeite sehr gerne damit. Ich lobe jedoch weiterhin für Emacs. Ich habe beschlossen, mir Emacs anzuschauen, um mein Wissen über die Unix-Editoren abzurunden (ganz zu schweigen von Emacs-Tastenkombinationen).

Aber! Ich bin glücklich, die meiste meiner täglichen Arbeit in Vim zu erledigen. Im Idealfall möchte ich (abgesehen von den Grundlagen) die Lücken betrachten, die Emacs füllen kann, oder Dinge, die er einfach besser machen kann als Vim. Ich nehme an, das kanonische Beispiel ist die Codierung von Lisp / Scheme in Emacs vs. Vim.

Wo würdest du anfangen, mit Emacs zu basteln, um seine Macht wirklich zu schätzen und um eine gute Vorstellung davon zu bekommen, wie sich die Editiermethode von Vim unterscheidet und wie sich die Editoren ergänzen können? Was wäre eine gute Einführung in die gleiche Richtung?

redacted
quelle

Antworten:

7

Welche Funktionen ergänzen sich? So ziemlich alles, was nicht gerade Textbearbeitung ist. Lesen von E-Mail, Usenet, Ausführen einer Shell, Debugger (gdb), Kompilieren, Integration der Versionskontrolle, Manpages, Aufgabenlisten / Projektplanung (org, planner), Surfen im Web, ide (CEDET), IM, IRC, Remote-Dateibearbeitung ( TRAMP) usw. Es gibt sogar dumme Sachen wie Spiele: Tetris, Schlange, Blasen, Pong.

Im Bereich der strengen Textbearbeitung erledigen sowohl Emacs als auch vi die Aufgabe, die Sie bevorzugen, ist wie das Eis, das Sie bevorzugen. Und ich stimme zu richardhoskins Der Viper-Modus ist wahrscheinlich der Weg, Emacs zu erkunden, wenn Sie nicht daran interessiert sind, das Ganze zu wechseln.

Hinweis: Entschuldigung, wenn einige der Funktionen in vim zur Verfügung stehen, ist es schon lange her, seit ich es benutzt habe und ich war ein sehr einfacher Benutzer von vim.

Trey Jackson
quelle
1
Ich würde empfehlen, zunächst den Viper-Modus zu verwenden. Machen Sie sich mit den Tastenkombinationen von emacs vertraut dann aktiviere den viper-modus - ansonsten landest du einfach mit einer "beschissenen emulation von vi" und nicht mit einem anständigen editor, der die vi-bindungen haben kann
dbr
6

Sie können den Viper-Modus verwenden. Viper ist ein vi-Emulator, der einen vi-Benutzer durch 5 Ebenen führt. In jeder Ebene werden Funktionen eingeführt, während sich der Benutzer mit Emacs vertraut macht.

Stufe 1 ist fast gerade vi. Level 5 ist fast Emacs. Sie können aus Viper in gerade Emacs und wieder zurück wechseln.

Viper wird mit Emacs geliefert und ist fertig eingerichtet. M-x Viper-Modus führt es aus. Es gibt einen Einführungsbildschirm, der die Verwendung erläutert.

Richard Hoskins
quelle
1

Was mich von nvi / vim auf nvi / emacs gewechselt hat, während meine jeweiligen "zwei Wörter in einer Datei ändern" / "Stunden damit verbringen, einen riesigen Verzeichnisbaum voller Dateien zu bearbeiten", 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 von Keybindings über Modi und Kontexte hinweg (Ausschneiden / Einfügen / Bewegung / usw. funktionieren im Minibuffer genauso wie in einem Puffer), interaktives Aktualisieren potenzieller Abschlüsse ü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 "wählt das Element aus ganz vorne auf der Liste: Ich bin frustriert über die Unbrauchbarkeit meines Window Managers oder Firefox, da ich nun 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 ausreichend reflektierenden Sprache ist das Programm selbst die genaueste Dokumentation, die Sie haben können.

Justin Smith
quelle
0

Was mich wirklich dazu zwang, von Vim zu Emacs zu wechseln, war Org-Modus , die eine flexible persönliche Organisation oder Veröffentlichung ermöglicht. Es ist ein Outliner, und ich glaube nicht, dass es etwas gibt, was Vim nahe kommt. Ich verwende auch ausgiebig R und Latex, und die integrierte Unterstützung für beide ist (meiner Erfahrung nach) robuster als die Integration in Vim. Ich mag die Vim-Latex-Suite, aber Emacs scheint mächtiger zu sein.

Ich nutze Vim wirklich gerne, aber jetzt nutze ich den Vimpulse-Modus udner EMACS, eine Erweiterung des Viper-Modus, um ihn vim-artig zu machen. Einer der Vorteile von vimpulse gegenüber der Verwendung von regulärem vim ist, dass Sie im "Bearbeitungsmodus" mehr tun können. Wenn Sie schnelle Bearbeitungen vornehmen möchten, können Sie die Tastenkombinationen von emacs verwenden, ohne den Modus wechseln zu müssen.

Chow
quelle