Der Editor exaEdit operiert auf den Sätzen einer Datei und betrachtet sie dazu als Zeilen (Beispiel einer Datei mit 3 Sätzen):
*** 1. Satz der Datei ***
2. Satz
Dies ist der letzte Satz
exaEdit zeigt im oberen Teil des Fensters, der sogenannten Datenzone, den Inhalt des workfiles bzw. (meist) Teile davon. Der untere Teil des Fensters dient im wesentlichen (Details folgen später) der Eingabe von Befehlen und der Ausgabe von Antworten des Editors und wird Dialogzone genannt. Das Fenster könnte also für den oben vorgestellten workfile wie folgt aussehen (wir nehmen ein 24-zeiliges Fenster an):
1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 +--------------------------------------------------------------------------------+ 1| | 2| | 3| | 4| | 5| | 6| | 7|MAIN exaEdit 02B TOP LINE datei | 8|000100 *** 1. Satz der Datei *** | 9|000200 2. Satz | 10|000300 Dies ist der letzte Satz | 11| | 12| | 13| | 14| | 15| | 16| ....;....1....;....2....;....3....;....4....;....5....;....6....;....7...| 17| | 18|exaEdit | 19|_ | 20| | 21| | 22| | 23| | 24| MAIN datei 3 19/ 1 | +--------------------------------------------------------------------------------+Die Numerierung oben (1 - 80) und links (1 - 24) und der Rahmen sind im Fenster nicht zu sehen, sie dienen nur der Verständigung in dieser Anleitung. Die Datenzone, in der die Sätze des workfiles oder Teile davon zu sehen sind, umfasst die Zeilen 1 bis 15. In Zeile 16 ist ein Lineal zu sehen, das das Abzählen von Spalten erleichtern soll. Zeile 17 bis 23 ist die Dialogzone. Zeile 24 ist die Statuszeile, in der ein sogenannter workfile-Name (
MAIN
), der
Name der gerade bearbeiteten Datei (datei
), sowie
ganz rechts außen die Anzahl der Sätze des workfiles
(3
) und die Zeilen- und Spaltennummer der jeweiligen
Cursorstellung (19/ 1
) stehen.
Für die folgenden Überlegungen ist vorausgesetzt, dass jeder Satz im workfile genau eine Zeile in der Datenzone belegt, wenn er dort gezeigt wird. Dies muss nicht so sein, wie du später noch sehen wirst, die Vorstellung ist jedoch nützlich, weil sie es erlaubt, die Begriffe Zeile und Satz vorerst austauschbar zu verwenden.
Die Zeile 7 enthält (sozusagen als 0. Satz) einen zusätzlichen Satz des
workfiles mit dem workfile-Namen
(MAIN
), dem Editornamen exaEdit, der
Versionsnummer von exaEdit (02B
), der
Identifizierung TOP LINE und dem Namen der gerade
bearbeiteten Datei (datei
). Diese top line
wird beim Laden eines workfiles aus einer Datei gebildet und
beim Schreiben eines workfiles in eine Datei weggelassen.
Hat eine Datei mehr Sätze, als in das Fenster passen (das ist der Normalfall), so zeigt exaEdit jeweils einen bestimmten Ausschnitt im Fenster.
Dieser Ausschnitt wandert gemäß den verwendeten exaEdit-Befehlen über die Datei. Präge dir dieses Bild ein: Der Ausschnitt wandert über die Datei wie eine Leselupe über ein Blatt Papier. Dagegen ist die Vorstellung, der Ausschnitt sei wie ein feststehendes Fenster, hinter dem die Datei vorbeigezogen wird, falsch. Der exaEdit-Befehl +5 zum Beispiel schiebt den Ausschnitt um 5 Sätze vorwärts, das heißt dann, 5 Sätze nach unten in Richtung Ende der Datei.
Der Ausschnitt enthält eine ungerade Anzahl von Zeilen. Es gibt daher eine mittlere Zeile, die optisch und logisch hervorgehoben ist. Sie wird als aktuelle Zeile (genauer: Zeile des aktuellen Satzes, current line) bezeichnet. Alle Befehle, in denen keine Zeilenangabe enthalten ist, beziehen sich auf die aktuelle Zeile. Zum Beispiel verlangst du mit dem Befehl delete 3 (,,lösche 3 Zeilen``), dass der Satz der aktuellen Zeile und die beiden nächsten Sätze aus dem workfile gelöscht werden.
Die aktuelle Zeile ist zwar im Fenster an fester Stelle, nicht aber im workfile. Bei jeder Änderung im workfile wird anschließend die aktuelle Zeile auf die letzte bearbeitete Zeile gestellt, der vom workfile gezeigte Ausschnitt also immer so gelegt, dass die Stelle, die vermutlich zuletzt das Ziel deiner Aufmerksamkeit war, in der Mitte des Fensterausschnitts liegt. Bei der Beschreibung der einzelnen Befehle ist jeweils vermerkt, ob und gegebenenfalls wie die aktuelle Zeile verschoben wird. Mit ein wenig Übung weißt du irgendwann bei den meisten Befehlen, wo nach ihrer Ausführung die aktuelle Zeile stehen wird, und kannst diese Information beim Verketten von Befehlen (siehe Verketten von Befehlen, Befehlsseparator) mit Vorteil nutzen.
Jeder Satz im workfile hat eine Satznummer. Diese Nummer wird beim Laden der Datei in den workfile festgelegt. Es handelt sich dabei um eine durchgezählte Nummer, die Standardzählung ist 100, 200, 300, ...
Die Zeilen in der Datenzone, die Sätze aus dem workfile enthalten, sind standardmäßig so aufgebaut:
11111 77778 Spalte 12345678901234...67890 Inhalt nnnnnnfddddddd...ddddd
nnnnnn
) ist das Nummernfeld.
f
) ist das
Flaggenfeld, in dem bestimmte Eigenschaften der Zeile markiert sind
(Details später, im Normalfall ist das Feld leer).
dd...dd
) ist das Datenfeld.
Mit den genannten Zahlenwerten können also zunächst einmal Sätze bis 73 Zeichen Länge in der Datenzone gezeigt werden. Oft gibt es aber längere Sätze. Gibst du nichts anderes an, so werden die übrigen Teile des Satzes in Folgezeilen dargestellt. Diese Folgezeilen sind am leeren Nummernfeld zu erkennen:
000100 ------ZEHN---ZWANZIG--DREISSIG---VIERZIG...SIEBZIG--- ACHTZIG---NEUNZIG---HUNDERT 000200 Ein Satz, der in eine Zeile passt.In diesem Beispiel sind zwei Sätze zu sehen: der Satz mit der Nummer 200, dessen Inhalt in 1 Fensterzeile passt, und der Satz mit der Nummer 100, für dessen 100 Zeichen 2 Fensterzeilen benötigt werden.
Da eine solche Darstellung nicht immer erwünscht ist, gibt es die Möglichkeit, eine logische Fensterbreite (Befehl LWWIDTH) zu definieren. Wird diese etwa auf 110 gesetzt, so verwandelt sich das obige Beispiel in
000100 ------ZEHN---ZWANZIG--DREISSIG---VIERZIG...SIEBZIG--- 000200 Ein Satz, der in eine Zeile passt.Hier hast du dann (aber noch nicht in der gegenwärtigen Version von exaEdit) die Möglichkeit, das Sichtfenster nach rechts zu verschieben, um den hinteren Teil des Satzes 100 zu sehen (Befehl szone). Wird szone etwa auf 30 gesetzt, so siehst du im Fenster
000100 G---VIERZIG...NEUNZIG---HUNDERT 000200 asst.also alle Sätze ab dem 30. Zeichen.
Was passiert, wenn LWWIDTH auf 90 gesetzt wird (und szone wieder die Normaleinstellung 1 hat)?
000100 ------ZEHN---ZWANZIG--DREISSIG---VIERZIG...SIEBZIG--- ---HUNDERT 000200 Ein Satz, der in eine Zeile passt.Es wird also immer der Teil, der den Wert von LWWIDTH übersteigt, in Folgezeilen dargestellt. Willst du gar keine Folgezeilen haben, so muss LWWIDTH
Noch mal eine schematische Darstellung
1. Fall: Logische Fensterbreite (lwwidth) = Breite des Datenfeldes, linker Rand = 1. Zeichen (szone 1):
2. Fall: Logische Fensterbreite (lwwidth) > Breite des Datenfeldes, linker Rand = 1. Zeichen (szone 1):
3. Fall: Logische Fensterbreite (lwwidth) > Breite des Datenfeldes, linker Rand = n-tes Zeichen (szone n mit n > 1): (Hinweis: Diesen Fall kann es in der gegenwärtigen Version von exaEdit noch nicht geben.)