Emacs vs. Vim - die Lösung

Wenn man dann in Nerd-Kreisen fragt bekommt man in der Regel eine von zwei Antworten. "Vim" oder "Emacs"

Wer, wie ich, am liebsten mit reinen Text-Dateien arbeitet, wird eines Tages vor der Frage stehen: "Mit welchem Text-Editor mache ich das denn am besten?" Wenn man dann in Nerd-Kreisen fragt bekommt man in der Regel eine von zwei Antworten. 'Vim' oder 'Emacs'. Und damit kennt man auch schon die beiden Teilnehmer der Editor-Wars des Glaubenskrieges zwischen den Anhängern zweier Texteditoren, der etwa so lange dauert, wie der "Knäckebrotkrieg von Hovdala":https://familynomadic.wordpress.com/tag/double-wars/ bei dem die Teilnehmer seit mehr als einem Vierteljahrhundert um die Frage kämpfen, ob das Knäckebrot auf der glatten oder der gelochten Seite gebuttert werden muß.

h3. Vim

!>GVim-screenshot.png(Screenshot of gVim editor displaing HTML source code)!

Beiden gemeinsam ist, das sie von Hause aus eine eher spartanische Oberfläche mitbringen, und für einen Benutzer, der normalerweise mit einem Office-Paket arbeitet zunächst einmal unbedienbar sind. Jeder auf seine eigene Weise. Da aber beide Editoren ihre treue Fangemeinde haben, habe ich vor über einem Jahr beschlossen, mir mal Vim näher anzusehen. Die gängigste Witz über Vim ist ja, das nur deshalb so viele Menschen ihn benutzen, weil noch niemand herausgefunden hat, wie man ihn wieder beendet. Und in der Tat, die Tastaturbelegung ist schon gewöhnungsbedürtig, wenn man Vim gestartet hat und einfach lostippt wird man zum beispiel feststellen, das sich am Bildschirm absolut nichts tut, bevor man nicht zufällig das i wie insert gedrückt hat.

Von dieser Art hat Vim noch eine Menge zu bieten. die meisten Tastaturkürzel ergeben einen Sinn, wenn man sich die Funktionsnamen über das englische herleitet, und so war ich nach ca einem Vierteljahr in der Lage Vim als meinen alleinigen Editor zu benutzen. Mit ein paar Erweiterungen (und die sind es, die sowohl Vim als auch Emacs so mächtig machen) fand ich Vim sogar besser als jeden anderen Editor, mit dem ich vorher gearbeitet hatte. Insgesamt ein Jahr habe ich ausschließlich mit Vim gearbeitet. Sehr angenehm war auch, das man nur eine Konsole braucht um mit Vim zu arbeiten, und ich daher auf dem Server einfach in der gewohnten umgebung bleiben konnte.

h3. Emacs

!<emacs.png(A screenshot of Emacs showing several Dired buffers)!

Beim ersten Treffen des "Warpzonista Coding Clubs":http://remline.de/2015/WarpzonistaCodersClub/ habe ich dann im Gespräch erwähnt, das ich versuche, so viel wie möglich mit Ascii-Dateien zu arbeiten, und erhielt dort den Tipp: 'Dann ist der Emacs "Org-Mode":http://orgmode.org/" wahrscheinlich was für dich'. Und in der Tat, ich hatte bereits früher schon wesentlich mehr lobende Erwähnung für den Org-Mode (eine möglicher Betriebmodus des Emacs) gehört, als über Emacs selbst. Dieser Hinweis war für mich der konkrete Anlass, es mal mit Emacs zu versuchen. Und tatsächlich, auch Emacs wartet mit eine ganzen Reihe sehr kruder Tastenkombinationen auf, die sich hier allerdings nicht so klar über das englische herleiten lassen, und dazu noch in verschiedenen Betriebsmodi unterschiedliche Funktionen haben können. Nicht umsonst spielt der gängigste Emacs Witz damit, dass der Name eigentlich eine Abkürzung für Esc-Meta-Alt-Ctrl-Shift sei. Eine dieser Tasten ist gefühlt ständig gedrückt.

Von der Tastenbelegung her ist Emacs also wirklich grausam, allerdings ist das Konzept wie Tastendrücke auf Editorfunktionen abgebildet werden deutlich lockerer gekoppelt, und so fällt es bei Emacs leichter mal eben einer Funktion eine andere Tastenkombination zuzuweisen. !ABER HALT! ich hatte schon vor Etwa einem Jahr mit Vim festgestellt, das man sich dabei schnell selbst in den Fuß schießen kann, weil man am Ende mit eine System dasteht, das mit keiner Dokumentation mehr übereinstimmt, und bei dem einem das nächste Zusatzmodul die Belegung zerschieß. Außerdem hat dann der Editor auf dem Server wieder eine "normale" Tastenbelegung, und man ist aufgeschmissen.

h3. Die Lösung

Diesen Gedanken habe ich ein paar Tage in meinem Kopf hin und her gerollt. Der Org-Mode unter Emacs ist wirklich toll, und entspricht genau meinem arbeiten. Ich denke in Baumstrukturen, und kann das dort 1:1 abbilden. Andererseits wird mir eine starke Anpassung der Tasten das arbeiten an fremden Emacs' verleiden. Ich stand also erstmals vor der Frage "Vim oder Emcs - Wie gehts weiter?" Und wie so oft liegt die Lösung darin, sich dem entweder/oder Ansatz zu verweigern. Ich kann immerhin Vim recht fließend bedienen, und werde die Grundzüge dessen wohl auch so schnell nicht verlernen, also kann ich überall dort, wo ich Remote arbeiten muß ja durchaus bei Vim bleiben, auf die Tastatur meines Laptops legt sowieso niemand die Finger außer mir, also kann ich mir dort meinen Emacs auch einfach so einrichten, das ihn außer mir niemand bedienen kann. Ich werde mir jede Funktion exakt dorthin legen, wo mein erstes Gefühl sie erwartet.

Die Antwort lautet also Vim und Emacs Es ist ein wenig wie das einrichten eines Wohnzimmers, in dem man sich die nächsten 10 Jahre wohl fühlen möchte. Emacs scheint mir dafür eine gute Grundlage zu bieten. Immerhin arbeite ich an einem PC und da darf ich das "personal" in "Personal Computer" durchaus mal wörtlich nehmen.

Wie ist das bei euch? Achtet ihr drauf, das ihr auf euren PC genauso arbeiten könnt, wie bei Freunden, oder bei der Arbeit? Wodurch wir euer PC zu eurem persönlichen Gerät?