Hi!
Ich habe mal eine Checklist für meinen Wunsch-Editor zusammengestellt:
(3) zeigt die Cursorposition im Dokument (Zeile und Spalte)
Wobei es da eine Falle gibt, in die der Programmierer des Editors nicht tappen sollte. Angenommen, es ist ein Dokument geladen, welches überlange Zeilen enthält. Bei 800*600 und 96dpi passen 125 9pt-Zeichen in eine Zeile. Wenn man Softwrapping[0] einschaltet, um horizontales Scrolling zu unterbinden, muss der Editor die Zeilen weiterhin korrekt nummerieren. D.h. wenn man sich in der Zeile (i) Spalte 10 befindet und einmal Cursor ab bewegt, muss dann die Anzeige Zeile (i) Spalte 136 lauten. Wenn dort aber steht Zeile (i+1) Spalte 10, dann ist es verkehrt.
(6) kann alle Dateien auf einmal mit einem Klick/Shortcut speichern
Ich will auch Dateien schnell schließen können, mit Strg+w für das aktuelle Dokument, Strg+Shift+w für alle Dokumente.
(7) hat eine umfangreiche Rückgängig-/Wiederherstellen-Funktion (mindestens 50 Schritte)
Unbegrenzt! Es gibt keinen vernünftigen Grund, die Anzahl einzuschränken! (Siehe Zero-One-Infinite-Rule.) Der Arbeitsspeicher ist so groß wie mein freier Festplattenplatz.
Meine Wunschfeatures:
* Makroaufzeichnung mit einer Taste starten/stoppen, Makrowiedergabe mit einer Taste
* MDI (á la Opera) oder Tab-Interface (á la Mozilla)
* Vollbild-Toggle
* der Editor darf Textdateien in dutzende-Megabyte-Größe nicht verweigern
* ausgereiftes Go To Line, mit wahlweise absoluter und relativer Adressierung
* ein notepad.exe-Ersatz-Dummy, welches des eigentliches Editor aufruft
* Perl-ähnliche Regexp für gewisse häufige Gruppen von Zeichen. Solche Monster wie [:alpha:] mögen zwar Posix-konform sein, aber hindern die Arbeit.
* Regexp-Replace mit "Merken" -> () -> \1
* vernünftige Tastenkombinationen für alle Funktionen (auch die, von denen der Programmierer denkt, sie wären unwichtig), oder besser frei definierbare Zuordnungen
* Autoladen von Binaries in einen Hexeditor nach Wahl
* Syntaxhighlighting soll einfach anpassbar sein, z.B. über bearbeiten der Definitionen in Klartextdateien. Die Anpassung in Textpad (via zehntausende Untermenüs) ist nämlich eine Zumutung.
* Export von Syntaxhighlighting nach RTF oder HTML+CSS
Hat jemand einen Texteditor, der das alles kann?
Das wäre schön, wenn's sowas gäbe[1]. Kein Programm, außer Emacs vielleicht, ist vollkommen (und wer will schon die Zeit aufbringen, sich in die arkane Emacs-Konf einzuarbeiten, nur damit er Sachen macht, die andere Editoren von vornherein ohne großes Zutun können?).
Mein Defaulteditor und Mädchen für alles (Text, XHTML, CSS, Perl, PHP, INI, Konf für Apache & Quake u.v.a.m.) ist Texturizer[2], weil er schnell lädt (sich selber und Dateien). Für Regexp-Replace, eine Sache die Texturizer leider nur mangelhaft umsetzt, lade ich das Dokument in Textpad.
Ich rate von Ultraedit, Editplus, Editpad und Notetab ab.
Wer modusbasierte Editoren (ed, vi, edlin) gut findet, hat ein Rad ab. (Flame on! :-)
[0] Softwrapping wirkt sich nur auf die Darstellung aus. Zeilenumbrüche werden nur dort gespeichert, wo auch Enter gedrückt wurde. Das ganze ist also nicht verlustbehaftet. Hardwrapping hingegen formatiert den Text wirklich um.
[1] Definitiv nicht in der Windowswelt, da hab ich schon alles geguckt. kwrite (KDE) und nedit (X/lesstif) sind recht nett, aber teils featurearm, teils unwieldy, teils buggy.
[2] Texturizer http://djst.cjb.net/ Hervorstechende Features neben selbstverständlichen Sachen wie Syntaxhl, Toolbar usw: Makros, Lesezeichen, Zeilenendekonvertierung DOS<->Unix<->Mac, Auto-Save und -Backup, Seite für Druck einrichten