Weiter Zurück Hinauf contents index
Weiter: Satznummern   Zurück: Verketten von Befehlen, Befehlsseparator   Hinauf: Die Funktionen


Fensteraufbau, aktuelle Zeile

Der Editor exaEdit operiert auf den Sätzen einer Datei und betrachtet sie dazu als Zeilen (Beispiel einer Datei mit 3 Sätzen):

exaEdit nutzt das ganze zurVerfügung stehende Fenster für seine Arbeit. Wenn du die Fenstergröße während des Arbeitens mit exaEdit veränderst (das geht leider nicht in allen Betriebssystemen), nimmt exaEdit von dieser Änderung Notiz und passt sich automatisch der neuen Größe an. Ist das Fenster zu klein oder sieht sich das Betriebssystem nicht in der Lage, den Fenstermodus zu verwenden (jeweils Beschreiben des kompletten Fensters), so arbeitet exaEdit im Zeilenmodus. Den Zeilenmodus kannst du auch explizit verlangen (exaEdit-Befehl scope off).

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

Die Breite des Nummernfeldes (Voreinstellung: 6) kann geändert werden (0 bis 8 Zeichen), das Datenfeld passt sich in seiner Länge automatisch an.

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 längster Satz sein.

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.)

Für die Folgezeilen gilt natürlich ebenso, dass durch die Angabe von szone ihr gezeigter Ausschnitt verändert werden kann, und dass Zeichen, die jenseits der Spalte LWWIDTH sind, erneut Folgezeilen ergeben.
Weiter Zurück Hinauf contents index
Weiter: Satznummern   Zurück: Verketten von Befehlen, Befehlsseparator   Hinauf: Die Funktionen