E wie Edit

Editoren sind für mich ein wichtiges Thema. Ich erledige inzwischen 90% meiner Arbeit in einem Editor. Neben Quelltexten für Programme und Skripte entstehen Texte, Ausarbeitungen, Präsentationen, Briefe, Blogartikel, Dokumentationen und vieles mehr in den Textwerkzeugen. Seit Neuestem nutze ich einen Editor sogar als vollständiges GTD-Tool. Doch nach vier Jahren in der Informatik, nach neun Jahren Linux und fast fünf Jahren OS X kann ich eines mit Überzeugung sagen: Den einen Editor gibt es nicht.

Als ich im Jahr 2007 zum Mac kam, schrieb ich voller Entsetzen einen Artikel, der den fehlenden Editor auf OS X anprangerte. Ich kam aus der Open Source Szene und war es gewohnt, gute Werkzeuge direkt auf meinem System zu finden. Oder zumindest die Möglichkeit zu haben, sie durch ein Paketmanagementsystem nachzuladen. So kam ich 2007 dazu, mich mit VI(M) zu beschäftigen. Ich war es vorher schon gewohnt, im Terminal zu arbeiten, aber nach 4 Jahren Linux mit Gedit und Kate kam mir Editor, der ausschließlich im Terminal lebte doch sehr verstaubt vor. Ich sah mich nach Alternativen um und fand die damals Einzige: Textmate. Laut den Machern Macromates “The Missing Editor for Mac OS X”. Nach 30 Tagen Testversion war ich enttäuscht. Der Editor war mächtig, keine Frage. Aber er war wie ein Flugzeugträger mehr eine Insel, als ein Schiff. Er war träge, kam mit großen Dateien nicht zurecht und bewarf den Nutzer mit Features, die ich nicht brauchte. Nach einem Monat Textmate resignierte ich und lernte mit den kryptischen Kommandos von VIM umzugehen. Ein halbes Jahr später schrieb ich in einem anderen Artikel, dass ich niemals einen anderen Editor brauchen werde. VIM machte exakt, was ich von ihm wollte, er war schlank, schnell und die Teilung zwischen den verschiedenen Modi (Insert, Replace, Command) und die exzellente RegExp-Suche macht die Behandlung von Texten jeder Art zu einer angenehmen Erfahrung. In erster Linie nutze ich VIM heute, wenn ich auf entfernten Rechnern arbeite, oder “nur mal schnell” kleine Änderungen an einer Datei vornehmen möchte.

Für die Arbeit an komplexen Projekten, wie es etwa die Programmierung einer Software ist, nutze ich graphische Editoren. Dabei habe ich seit Textmate eine wahre Odyssee hinter mir. Es gab unzählige Versuche, inklusive Gedit in einer Gtk-Umgebung, der Arbeit mit verschiedenen Alpha-Versionen von Editoren, die mal sein sollen (Chocolat, Textmate2, etc.) sowie freien Versionen großer Schlachtschiffe (Textwrangler, BBEdit). Ich habe durchaus auch Geld ausgegeben um an gute Editoren zu gelangen. So habe ich irgendwann einmal Textmate gekauft (in erster Linie, um an der Alpha von Textmate2 teilhaben zu dürfen) und Geld in Richtung der Coding Monkeys geworfen, um SubEthaEdit zu erwerben. Dann bin ich irgendwann über Sublime Text 2 gestolpert. Zuerst schreckte mich ab, dass es ein plattformübergreifender Editor ist, Sowohl für Windows, Linux als auch Mac OS X verfügbar. Ich dachte an die Java -Hölle und wollte schon die Finger davon lassen, dann gab ich ihm trotzdem einen Versuch. E voilá! Ich wurde fündig. Sublime Text 2 ist wohl der beste Editor, mit dem ich überhaupt jemals gearbeitet habe. Er bietet eine Unzahl von Features, alleine schon, weil er zu Textmate kompatibel ist und dadurch alle Plugins von Textmate nutzen kann, kommt aber als leichtgewichtiges Textwerkzeug daher. Es gibt Unterstützung für jede Sprache, in der ich je versucht habe, zu arbeiten.

Aber wie nutzt man einen Editor jetzt eigentlich als GTD-Werkzeug?

Ich arbeite seit Anfang des Jahres am Institut für Künstliche Intelligenz. Das hauptsächliche Arbeitswerkzeug dort ist das Urgestein aller Editoren, der Emacs. 1976 veröffentlicht, ist Emacs inzwischen 36 Jahre alt. Ich habe mich jahrelang dagegen gesträubt, auch nur ein Dokument in Emacs zu öffnen. Das Problem war nämlich, dass ich Emacs nicht beenden konnte.

Der Einstieg in Emacs ist vermutlich nicht schwerer als in VIM. Man muss zuerst ein Befehlsset lernen. Wer nicht weiß, dass er in VIM “:q” zum Beenden eingeben muss, der kommt ebenso wenig aus dem Programm, wie jemand, dem “C-x C-c” nichts sagt. Wer nicht weiß, wie er in den Insert-Mode kommt, kann in VIM nicht mal Text schreiben.

Seit ein paar Wochen nutze ich Emacs nun beinahe ausschließlich. Wie kam es zu dem Wandel?

Zuerst muss man wissen, dass Emacs mehr einem Betriebssystem gleicht, als einem einfach Editor. Es ist alles andere als schlank und erschlägt einen mit Funktionalität. Emacs kommt sogar mit einer eigenen Programmiersprache (eLisp). Emacs’ Alter ist gleichzeitig sein größtes Kapital. Es gibt für jedes erdenkliche Szenario eine Funktion. Ob man nun nur einen Brief schreiben und setzen, ein Programm schreiben und übersetzen oder Orbitalraketen starten möchte. Letzteres habe ich noch nicht getestet, ich bin mir aber inzwischen sicher, dass es in Emacs möglich ist.

Mich persönlich überraschte Emacs mit dem org-mode. Seit ich David Alles Buch “Getting Things Done” gelesen hatte, suchte ich nach einem vernünftigen Werkzeug für Strukturierung meiner Arbeit. Ich nutzte Things und OmniFocus. Das Erste war zu alt, im Sinne von lange nicht weiterentwickelt und absolut verstaubt, das Zweitere schlichtweg zu teuer. Org-mode liefert einen vollständigen Outliner mit der Mächtigkeit eines OmniOutliners bei einer wirklich einfachen Bedienung. Dabei verfügt der Outliner über einige Makros, die ihn schnell zu einem vollständigen GTD-Tool machen. So gibt es eine Inbox, Notes, Projektierung und die Möglichkeit, nach Priorität und zeitlichem Ablauf zu planen.

Nachdem ich den Org-mode entdeckt hatte, begann ich tiefer zu graben und finde jeden Tag mehr Werkzeuge, die das Leben deutlich einfacher machen. Immer mehr Programme wandern in meinen Emacs. So schreibe ich diesen Blogpost inzwischen in org2blog, schreibe Mails mit Emacs Mail Mode und verwalte meine Git Repositories mit magit. Emacs ist ein fantastisches Werkzeug und verdient 36 Jahre nach dem ersten Release ebenso viel Aufmerksamkeit wie je zuvor.

Vielleicht gibt es den einen Editor ja doch.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s