Hintergrund

Universeller Texteditor?

Ein bißchen graue theorie. Im folgenden sind mit dem begriff sprache immer programmiersprachen oder HTML, LaTeX oder andere markup sprachen gemeint.

Was heißt, NEdit sei ein universeller texteditor? Gemeint ist, das sich NEdit an das editieren aller text dateien anpassen läßt. Es spielt also keine rolle, ob man ein C programm, ein Perl skript oder einen LaTeX text erstellt. Dies wird dadurch erreicht, das NEdit über eine eigene makro- bzw. skriptsprache verfügt und somit programmierbar ist. Wozu ist das gut?

Beim editieren von texten gibt es kern- und spezialaufgaben. Kernaufgaben sind z.b. suchen und ersetzen, kopieren, ausschneiden und einfügen. Spezialaufgaben hängen von der jeweiligen sprache, also C, Perl, HTML oder TeX, der textdatei ab, die man bearbeitet. Solche aufgaben sind z.B. bestimmte befehle einfügen, HTML- oder LaTeX tabellen erzeugen. Während die kernaufgaben immer gleich sind, sollten die spezialaufgaben anpaßbar sein, sowohl an die jeweilige sprache, als auch an die neigungen bzw. editiergewohnheiten des nutzers. Um diese anpaßbarkeit zu erreichen, muß ein editor programmierbar sein.

Die andere alternative wäre für jede sprache einen auf diese ausgerichteten spezialeditor zu verwenden. Mal davon abgesehen, das es ziemlich viele sprachen gibt, muß man sich dann auch bei sprachänderungen, also aus HTML 3.2 wird 4.0 oder HTML wird durch XML ersetzt, ein update zum jeweiligen editor kaufen. Was dann immer noch fehlt, ist eine gute anpaßbarkeit an die editiergewohnheiten oder eigenheiten und wünsche des anwenders.

Anpaßbarkeit?

Was genau ist unter anpaßbarkeit durch programmiebarkeit zu verstehen? Schließlich ist jedes programm, dessen quelltext verfügbar ist und dessen lizenz dies erlaubt, beliebig mit hilfe der programmiersprache, in der es geschrieben wurde, anpaßbar und erweiterbar. Ein beispiel hierfür ist der Emacs, der in elisp, einer variante von Lisp, programmiert ist, und mit hilfe dieser sprache erweitert werden kann. Eigentümlicherweise gilt Emacs daher auch als besonders mächtig. Tatsächlich ist er genauso mächtig wie jedes andere programm, das unter einer freien software lizenz steht (also einer solchen, die sicherstellt, das der quelltext verfügbar ist und verändert werden darf). Man programmiere sich das, was man gerne hätte, einfach dazu!

Ein verständnis von anpaßbarkeit und erweiterbarkeit in diesem sinne ist natürlich purer unsinn, es sei denn, man könnte vom durchschnittlichen anweder erwarten, das er die programmiersprache, in der der editor geschrieben ist, einschließlich bibliotheksfunktionen lernt, also selbst zum programmierer wird, um die anpassungen, die er gerne hätte, vorzunehmen. Und selbst dann stünde der aufwand kaum im verhältnis zum gewinn.

Um anpaßbarkeit zu erhalten, die der durchschnittliche anwender selbst vornehemn kann, muß der editor mit einer geeigneten programmiersprache zur automatisierung von editieraufgaben ausgestattet sein. Geeignet heißt dabei, an dem zweck der automatisierung von editieraufgaben ausgerichtet und für den anwender verständlich und mit geringem zeitaufwand erlernbar. Dies läuft auf eine untypisierte skriptsprache oder makrosprache hinaus, deren bibliotheksfunktionen sich i.w. auf stringmanipulationen, suchen und ersetzen, etc. beschränken. Beispiele für solche editoren wären NEdit oder Vim.