Emacs statt Vim – Mai Challenge

Am bei Plasisent veröffentlicht.

Nachdem ich mir im April keine Herausforderung formuliert habe, mache ich im fünften Monat dieses Jahres wieder weiter. Diesmal nichts mit Essen oder Lebens-Qualität, sondern ein Thema, das meine Arbeit betrifft: Im Mai verwende ich Emacs (im Evil-Mode) statt Vim.

Die Vorteile von Vim

Während meiner Ausbildung habe ich bereits mit Emacs gearbeitet. Anfang 2014 bin ich dann auf Vim umgestiegen. Ich bin immer noch fasziniert von der Art und Weise, wie mit Vim Dateien bearbeitet werden. Vim verwendet dafür verschiedene Befehle. Ich erkläre hier kurz zwei Arten davon:

  1. Befehle, die mit dem Text arbeiten. Sie löschen, kopieren, markieren, … den Text.

  2. Befehle, die deine Position in der Datei verändern. Damit kannst du zum Beispiel an das Ende der Zeile, des Wortes, des Satzes, Absatzes oder der ganzen Datei springen. Natürlich auch in die andere Richtung. Und viel mehr.

Diese beiden Befehls-Arten können beliebig miteinander verknüpft werden. Dadurch wird bei Vim durch jeden Bewegungs-Befehl, jeder Bearbeitungs-Befehl mächtiger. Lösche bis zum Ende der Zeile, markiere bis zum Anfang des Wortes, kopiere bis zum Ende des Absatzes und vieles mehr. Siehe dazu auch, warum ein neuer Text-Editor Vim nicht ersetzen kann.

Die Vorteile von Emacs

Vim hat bisher nur einen Maintainer. Bram Moolenaar ist der Haupt-Entwickler. Sein Plan um Vim für die längere Zukunft zu bewahren ist „am Leben zu bleiben“. Während Bram dies scherzhaft in einem Interview sagte, empfinde ich dies nicht als besonders gutes Zeichen. Emacs wird von einem größeren Team entwickelt und der ursprüngliche Initiator ist nicht mehr aktiv beteiligt.

Der Text-Editor Emacs wird oft kritisiert: Emacs ist ein großartiges Betriebssystem – allerdings fehlt ein guter Editor. Es steckt etwas Wahrheit in diesem witzigen Spruch. Emacs kann sehr frei und vielfältig entwickelt werden. Große Teile der Funktionalität wurden in Emacs Lisp umgesetzt; eine gute Programmier-Sprache, die auch zur alltäglichen Konfiguration des Editors verwendet wird. Plugins können mit der GNU Emacs Lisp Reference programmiert werden. Vimscript wirkt eher wie eine Frankenstein „Programmier-Sprache“.

Emacs Lisp kann auch für Shell-Scripts verwendet werden! Also kann ich meinen Text-Editor programmieren und in eigenen Scripten die Funktionen verwenden, die auch er anbietet? Das ist großartig :D Für eine Kleinigkeit habe ich das bereits genutzt. Ich könnte mir vorstellen, das ich dies häufiger vorkommen wird.

Der Org mode für Emacs ist ein fantastisches Stück Software. Zumindest höre ich das immer wieder. Zum Beispiel in Rainers OrgMode Tutorial. Dieses Plain-Text-Format möchte ich auch gerne ausprobieren. Möglicherweise hilft es mir, mein Getting Things Done Prozess weiter zu verfeinern. Das erste Projekt für meine Gemeinde plane ich bereits vollständig mit Org-Mode. Es macht mir sehr viel Spaß.

Also: Emacs und Vim

Der beste Editor ist weder Emacs noch Vim; es ist Emacs und Vim! Das zumindest schreiben die Entwickler auf der Spacemacs Website. Tatsächlich glaube ich ihnen. In den letzten Tagen las ich (oft zufällig) von einigen Personen, die Emacs im Evil-Mode verwenden:

Auch bei meinen ersten Tests konnte ich wie gewohnt meine Text-Dateien bearbeiten. Der Evil-Mode ist eine außerordentlich gute Vim-Emulation. Ich freue mich darauf weiter mit Emacs zu arbeiten, Plugins zu testen und hoffentlich auch mit Org-Mode anbandeln zu können. Für die folgenden dreißig Tage gehe ich aber über den schnellen Emacs-Test hinaus.

alias vim="emacs"

Sonstiges

Keine Herausforderung ohne Ausnahme. Von Berufswegen arbeite ich gelegentlich auf Web-Servern. Vim ist bei diesen immer installiert, Emacs eigentlich nie. Da dies mehrere Server sind, die auch nicht nur unter meiner Kontrolle stehen, werde ich dort mit Vim arbeiten und nicht auf jedem Emacs installieren.

Ein paar Dinge werde ich im Laufe der dreißig Tage noch (neu) herausfinden müssen.

Eine Frage jedoch, gehört zu den wichtigsten; bei all den Möglichkeiten, die Emacs bietet, und den vielen Dingen, die ich lernen kann: Schaffe ich es mir nicht die Produktivität zu versauen? :D