Was ist Emacs?

Ein Texteditor.

Warten wir kurz, bis das Lachen des Publikums wieder verstummt ist.

Dem unbedarften Erstbesucher erscheint Emacs tatsächlich wie ein etwas kompliziert geratener Editor.

Doch auf den zweiten Blick entdeckt man, dass Emacs wesentlich mehr Funktionen bietet als das schlichte Schreiben von Text. Dass hinter fast jedem Tastendruck in Kombination der Strg- oder Alt-Taste (oder beiden, oder mit Shift, oder mit allen dreien) irgendein Befehl lauert – oder gar eine Gruppe von Befehlen, die erst durch weiteres Tastendrücken spezifiziert wird.

Dies führt uns zur zweiten, in Fachkreisen eher geläufigen Definition: “Emacs ist ein Betriebssystem, welchem ein guter Texteditor fehlt.”

An dieser Stelle stürzen wir dann auch bereits in den Kaninchenbau.

Emacs ist flexibel, konfigurierbar, erweiterbar. Es gibt eine unüberblickbare Vielfalt von Paketen, die man in seinen “Texteditor” installieren kann. Geradezu ein eigener Kosmos, ein Multiversum.

“Ich lebe in Emacs”

Und plötzlich spielt Emacs Musik ab, präsentiert Bilder, surft uns durch das Dateisystem und (bedingt) durchs Internet, schreibt Mails, spielt Tetris, verteilt psychologischen Rat, mutiert zur Entwicklungsumgebung für praktisch jede Programmiersprache, bringt seinen eigenen Kalender mit sowie den omnipotenten Org Mode, in welchem im Textmodus Tabellen erstellt, TODO-Listen verwaltet und Textordnungsstrukturen mit Ebenen, einklappbaren “Schubladen” und programmierbaren Eigenschaften gebaut werden können, alles untereinander verlinkt, mit Schlagworten versehen und zu einem eigenen Wiki verschraubt, das bei Bedarf auch auf den nächsten Server hochgeladen wird.

Wenn man das will.

So hört man in vielen Foren den Spruch von Emacs-Benutzern: “Ich lebe in Emacs.”

Emacs ist so vielseitig, dass manch einer keine andere Anwendung benötigt, um sein Tagewerk effizient und effektiv zu vollenden.

Auch ein Terminal fehlt nicht. (Tatsächlich sind mehrere von Haus aus dabei.)

Emacs ist kein Texteditor

Tatsächlich ist Emacs eine Lisp-Laufzeit-Umgebung. Lisp ist eine Programmiersprache, der Dialekt speziell für Emacs ist Elisp. (Das ist jetzt nicht direkt mit z.B. Bayrisch gleichzusetzen.)

Und diese Lisp-Laufzeit-Umgebung kann live innerhalb ihrer Laufzeit umprogrammiert werden!

Wir könnten jede Lisp-Funktion umschreiben, überschreiben, ersetzen, unsere eigenen hinzufügen, wenn uns danach ist. Und wenn wir Elisp beherrschen. Was wir nicht tun.

Aber die Landschaft von bereits verfügbaren Anwendungen macht dies auch meist vollkommen überflüssig, denn für fast jeden Anwendungsfall stehen bereits mehrere mögliche Erweiterungen zur Verfügung.

Wer ist ein guter Texteditor?

Ein richtig guter Texteditor ist übrigens vim. Das Besondere an vim ist, dass die Tasten im “Normal-Modus” keine Buchstaben auf den Bildschirm bringen. Klingt völlig absurd für einen Texteditor, oder?

Hier ist direkt jede Taste mit einem Befehl verbunden – und hinter der einen oder anderen Taste verbirgt sich dann auch ein Befehl zum Schreiben: am Anfang der Zeile (A), am Ende E), in der nächsten Zeile (o), genau hier (i), usw.

Aber wer vim lieben gelernt hat und sich nicht von dem wohldurchdachten Konzept trennen möchte, der kann Emacs natürlich anweisen, (größtenteils) wie vim zu funktionieren. Und trotzdem psychologischen Rat einholen, Dank “Eliza”, dem Gesprächstherapie-Programm aus den 60’ern.

Ebenso lassen sich in Emacs aber auch alle Tastenkombinationen beliebig neu belegen, so dass man den für sich perfekten Texteditor jederzeit selbst erstellen kann. Wenn wir den Überblick über unsere selbstgewählten Kombinationen behalten. Was wir nicht tun.

Und auch dafür gibt es wieder mehrere Lösungen…

Emacs ist ein jung gebliebener Dinosaurier

Emacs wurde übrigens 1976 geboren, so wie ich.

Anfänglich nur eine Sammlung von Skripten, ist Emacs permanent weiterentwickelt worden – und wird es noch.

Emacs ist gekommen, um zu bleiben.

Viele Office-Anwendungen sind in dieser Zeit gekommen und gegangen. Manch eine Datei lässt sich heute nicht mehr öffnen, weil die Software dazu nicht mehr existiert und andere Programme das Format nicht lesen können.

Emacs arbeitet mit Text. Text und Listen, dafür ist Lisp ursprünglich entwickelt worden. Deswegen kann Emacs das so gut.

der Trend zurück zum Text

Das reine Textformat hat sich bewährt. Unsere Computer arbeiten heute noch damit. Und der Trend geht vielerorts dahin zurück. Aus guten Gründen.

Nehmen wir zum Beispiel Notion. Hier können wir unsere Gedanken, Ideen und Projekte in Markdown-Format hinunterschreiben. Markdown ist ein reines Textformat mit ein paar Regeln. Fängt eine Zeile zum Beispiel mit der Raute (#) an, dann wird diese Zeile als Überschrift behandelt. Zwei Rauten (##) sind eine Überschrift zweiter Ordnung, usw.

Durch den Einsatz weniger Zeichen werden Wörter als fett, kursiv, als Spiegelstrich, Checkbox oder Link definiert.

Manch ein Programm (wie Notion) wandelt diese Zeile dann optisch in eine große Schrift um und entfernt die Raute (auch nur optisch). Doch in einem Texteditor, der Markdown nicht versteht, bleibt es eben eine Zeile mit Raute am Anfang. Das Wort wird nicht fett geschrieben, ist aber von Sternchen umgeben. Der Bulletpoint ist dann ein einfaches Minus-Zeichen. Der Computer zeigt an, der Mensch liest und versteht. Hoffentlich.

reiner Text und seine Facetten

Der bereits erwähnte Org Mode von Emacs ist ebenfalls eine Art von Markdown, nur auf Steroiden. Dinosaurier-Steroiden. (Org Mode als solches wurde allerdings erst 2004 geboren. Ein Küken!)

LaTeX ist ein Schriftformat für wissenschaftliche Arbeiten, für die Darstellung von mathematische Formeln. Unter anderem. Man kann auch hübsche PDFs damit erstellen, die weder wissenschaftlich noch mathematisch daherkommen. Oder Org-Format in LaTeX umwandeln.

Emacs kann Text in eine Vielzahl anderer Formate konvertieren. So schrieb ich diesen Blogartikel in Org Mode und ließ ihn nach Markdown übersetzen. Obwohl Emacs den Text auch nach HTML übersetzen kann, überlasse ich dies einem anderen Programm – Hugo.

Und obwohl Emacs die Datei auch auf den Server hätte schieben können, überließ ich auch dieses Hugo. Ich lebe in Emacs, aber ich geh auch mal vor die Tür und treffe andere. Programme.

Wir drei arbeiten großartig zusammen, wenn es darum geht, schnell und effizient Websites aus dem Nichts zu stampfen. Sauber strukturiert, klar im Design, performant. Denn das Wichtigste am Internet ist und bleibt der Text.

Emacs ist für alle da

Jetzt kommt ja überhaupt erst der Knaller: Emacs ist kostenlos erhältlich. Für jedes System. Es ist Open Source Software. GNU-Software im Speziellen, weswegen das Gnu auch auf dem Startbildschirm erscheint, wenn Emacs als grafische Oberfläche gestartet wurde. Was nicht notwendig ist – Emacs läuft auch im Terminal.

Aber ein Wort der Warnung:

Verliere Dich nicht im Konfigurationswahn, das kann schnell passieren. Das “Tinkern” kann schnell zur Hauptbeschäftigung mit Emacs werden. Um Deinen Texteditor kennenzulernen, gar nicht verkehrt. Doch wenn es zum Wahn wird, dann wird die Arbeit mit Emacs ineffizient. Und das wollen wir nicht. Dann schnell einmal mit Eliza sprechen und wieder an die Arbeit.

Ein zweiter Wahn droht noch; nämlich das permanente Ausprobieren neuer Erweiterungen. Auch dies ist wieder durchaus empfehlenswert für den Anfang. Auf meiner Suche nach dem für mich besten Organisationssystem von Notizen und Gedanken (Stichwort: Zettelkasten), habe ich vermutlich alle Kanditaten ausprobiert. Und der letzte war der richtige. (Es war org-node!)

Dennoch bin ich froh und dankbar dafür, alle Möglichkeiten kennengelernt zu haben.

Am perfekten Workflow schrauben oder den perfekten Workflow nutzen – ein Drahtseilakt.

Doch letztlich sollten wir da ankommen, wo wir uns ein effektives, effizientes System erschaffen haben, welches uns entlastet, unsere Arbeit vereinfacht und beschleunigt, unseren Tag verschönert.

Fazit

Installiere Emacs. Jetzt. Hier.