Archiv für den Tag: 20.5.2009

Linux Tool der Woche: joe

Auch das Programm, das ich diese Woche vorstellen will, hat eine nostalgische Seite. Denn die Wurzeln des Texteditors joe reichen zurück bis in die 80’er Jahre. Joseph H. Allen entwickelte damals Programme für 8-Bit Prozessoren, unter anderem für den IBM PC. Mit den zur Verfügung stehenden Editoren war er jedoch nicht zufrieden und so begann Joseph im Jahre 1988 einen eigenen Texteditor zu entwickeln, den er zuerst «e», später «j» nannte. Da es bei diesem Namen zu Verwechslungen mit einer Programmiersprache kommen konnte, schlug ein Anwender als alternativen Namen «joe» vor: Joe’s own Editor. Und bei diesem Namen blieb es bis heute. Auf der Homepage des Editors gibt es eine History-Seite, auf der Joseph locker und unterhaltsam von seinen Erlebnissen aus der Mitte der 80’er Jahre berichtet. Ergänzt wird der Bericht durch zahlreiche Abbildungen von Computern aus dieser Zeit.

Und joe kann nicht verleugnen, dass er ein Kind der 80’er Jahre ist: denn einiges erinnert an eine populäre Textverarbeitung, die bei der Entwicklung von joe Pate stand: WordStar. WordStar? Die damals beliebte PC/MS-DOS Textverarbeitung ist heute fast ganz in Vergessenheit geraten. In den 80’er Jahren war sie de facto ein Standard und die von vielen unbeliebten WordStar-Tastenkombinationen wurden von zahlreichen anderen Editoren übernommen. Darunter Turbo-Pascal und – eben joe.
Und noch etwas an joe erinnert an WordStar. Es ist die Hilfsseite, die während dem Tippen ein- und ausgeblendet werden kann. Bei joe kann diese Seite jederzeit mit Ctrl+k h geöffnet werden. Zwischen den einzelnen Hilfsseiten kann dann mit Ctrl+ESC . und Ctrl+ESC , geblättert werden.

joe

joe mit Hilfsseite

Warum gerade joe und nicht vi oder emacs? Zum einen, weil ich diesen Editor während der Arbeit jeden Tag benutze. Ich schätze an joe die einfache Bedienung und die Tatsache, dass er für (fast) jedes Betriebssystem zu haben ist. Zu andern weil ich ein Gewohnheitstier bin. Während Jahren war ich Turbo-Pascal Enthusiast und gerade der Turbo-Editor teilt sehr viele Eigenschaften mit joe.

Andererseits unterscheidet sich joe deutlich von «grossen» Editoren wie vim: joe kennt nur die grundlegenden Funktionen, die beim Editieren von Konfigurationsdateien und Programmen erforderlich sind. Gewiss, es gibt zahlreiche Erweiterungen. Dennoch bleibt joe überschaubar und klein: alle Einstellungen des Editors stehen in einer einzigen Datei (joerc) und die wichtigsten Tastenkombinationen kann sich jeder in wenigen Minuten aneignen. Was für Programmierer erfreulich ist: joe kennt Syntax-Highlighting für die verschiedensten Programmiersprache und Konfigurationsdateien.

Hier sind einige nützliche Funktionen, die das Arbeiten mit joe erleichtern:

Bracket-Matching: Welche Klammern im Programm gehören zusammen? Um dies herauszufinden, wird der Cursor auf eine Klammer gesetzt, gefolgt von der Tastenkombination Ctrl+g. Nun wird der Cursor auf die Gegenklammer gesetzt – falls es eine gibt.

Arbeiten mit mehreren Fenstern: joe kann mehrere Dateien gleichzeitig öffnen und diese in mehreren Fenstern anzeigen, so dass beim Bearbeiten schnell zwischen verschiedenen Dateien umgeschaltet werden kann. Los geht’s am einfachsten mit dem Öffnen eines neuen Fensters: Ctrl+k o. Dieses kann mit Ctrl+k g vergrössert werden, mit Ctrl+k e wird eine Datei in dieses Fenster geladen. Mit Ctrl+k n geht’s zurück zum ersten Fenster und mit Ctrl+c wird das aktuelle Fenster wieder geschlossen.

Lesezeichen: joe kann bis zu 10 Lesezeichen setzen. Um ein Lesezeichen zu platzieren wird der Cursor an die gewünschte Stelle gesetzt, gefolgt von Ctrl+ESC Ctrl+ESC und der Nummer des Lesezeichens (0-9). Zugegeben, besonders intuitiv ist das nicht. Dafür ist das Springen zu einem Lesezeichen wieder einfacher: Ctrl+ESC 0-9.

Text ein-/ausrücken: Jeder Programmierer kennt es – ein Codeblock muss wegen einer Aenderung ein- oder ausgerückt werden. Dazu kann jede Zeile einzeln bearbeitet werden, was kein Problem ist, wenn der Block nur einige Zeilen enthält. Ist er aber mehrere 100 Zeilen lang, was keine Seltenheit ist, muss joe ran: Block markieren und dann mit Ctrl+k . oder Ctrl+k , ein- oder ausrücken.

Soviel also zu joe. Wer kleine und überblickbare Programme mag, dem wird joe gefallen. Der handliche Editor von Joseph H. Allen ist robust und bewährt sich im Alltag bestens. joe wird auch mit grossen Dateien problemlos fertig und sollte das Programm doch einmal abstürzen, dann wird in DEADJOE ein Abbild der aktuellen Sitzung gespeichert, so dass keine Aenderungen verloren gehen.