#start(5.0,1.5)##pagenr("%",1)##setcount(1)##block##pageblock##count per page# #headeven# #lpos(0.0)##cpos(5.5)##rpos(11.0)# #table# EUMEL-Benutzerhandbuch #fillchar(" ")# #on("u")# #off("u")# #table end##clear pos# #end# #headodd# #lpos(0.0)##cpos(5.5)##rpos(11.0)##fillchar(" ")# #table# Teil 4: Der Editor #fillchar(" ")# #on("u")# #off("u")# #table end##clear pos# #end# #bottomeven# #lpos(0.0)##cpos(5.5)##rpos(11.0)# #table# #fillchar(" ")# #on("u")# #off("u")# #fillchar(" ")# 4 - % GMD #tableend##clearpos# #end# #bottomodd# #lpos(0.0)##cpos(5.5)##rpos(11.0)# #table# #fillchar(" ")# #on("u")# #off("u")# #fillchar(" ")# GMD 4 - % #tableend##clearpos# #end# TEIL 4: Der Editor #free(1.0)# 4.0. Vorwort #free(1.0)# Mit dem #ib#EUMEL-Editor#ie# schreiben Sie alle Ihre Texte und Daten. Er bietet vielfäl­ tige Möglichkeiten, um Autoren oder Programmierer bei dem Erstellen, Korrigieren und Gestalten von Manuskripten oder Programmen zu unterstützen. Die größte Hilfe beim Schreiben besteht (durch die Speicherfähigkeit von Computern) im beliebig häufigen Zugriff auf einmal geschriebene Informationen. Im Gegensatz zu einer Schreibmaschi­ ne können Sie mit dem EUMEL-Editor (beliebig oft) Einfügungen vornehmen, Texte korrigieren, löschen und neu gestalten. Somit ist das Schreiben von Texten mittels des EUMEL-Systems besonders dann vorteilhaft und zeitsparend, wenn Texte häufig geändert werden oder wenn sie in einer besonders schönen Form gedruckt werden sollen. Weiterhin bietet der Editor Hilfen zum Schreiben an, wie z.B. automatischen Wortumbruch am Zeilenende, eine Einrückungsautomatik, "Lernen" von Texten u.a.m. Zusätzlich kann der Editor in seinen Fähigkeiten erweitert und somit für spezielle Schreibarbeiten angepaßt werden. Aber das soll in einem späteren Kapitel beschrieben werden. Bei der Entwicklung des Editors wurde besonderer Wert auf einfache Bedienung gelegt: innerhalb von wenigen Minuten können Sie schon Texte schreiben und Daten erfassen und sehen stets auf dem Bildschirm, was mit Ihrem Text passiert. Das Schreiben und Korrigieren werden durch einige wenige, aber leistungsstarke Funk­ tionstasten unterstützt. Einige Gestaltungsmöglichkeiten für Texte kann man nicht direkt auf dem Terminal "sehen", wie z.B. Proportionalschriften, Fettdruck usw. Solche Leistungen können durch Anweisungen an die Textkosmetik-Programme und den EUMEL-Drucker angefordert werden. Diese Anweisungen müssen in den Text eingefügt werden. Lesen Sie hierzu Teil 5 ("Textkosmetik"). #free(1.0)# #ib(9)#4.1. #ib#Ein- und Ausschalten des Editors#ie##ie(9)# #free("1.0")# #on("i")# Hier beschreiben wir, wie der Editor ein- und ausgeschaltet wird und wie der Editor eine Datei einrichtet. #off("i")##free(1.0)# Wenn in Ihrer Task auf dem Bildschirm die Aufforderung ____________________________________________________________________________ gib kommando : ____________________________________________________________________________ erscheint, tippen Sie ____________________________________________________________________________ #ib#edit#ie# ("dateiname") ____________________________________________________________________________ und der EUMEL-Editor wird eingeschaltet. Ist die Datei noch nicht vorhanden, d.h. kein Text unter dem angegebenen Namen im System gespeichert, folgt eine Anfrage, ob eine Datei unter dem eingegebenen Namen neu eingerichtet werden soll: ____________________________________________________________________________ "dateiname" neu einrichten (j/n) ? ____________________________________________________________________________ Dies dient zur Kontrolle von Schreibfehlern, die besonders bei ähnlichen Dateina­ men auftreten. Man kann dann das Einrichten der Datei ablehnen, den Dateinamen verbessern und das Kommando erneut geben. Falls Sie die Datei neu anlegen wollen, bejahen Sie diese Frage mit #center##taste1(" j ")# #taste1(" J ")# #taste1(" y ")# oder #taste1(" Y ")# Es erscheint ein leerer Editorbildschirm. Die oberste Zeile des Bildschirms ist die #ib#Titelzeile#ie#. In ihr kann nicht geschrieben werden. Sie zeigt jedoch verschiedene nützliche Dinge an: den Namen der Datei, die Nummer der aktuellen Zeile, in der gerade geschrieben wird, Tabulatormarken, Einfügemodus, Lernmodus, Auftrennung usw. ____________________________________________________________________________ ................. dateiname ...................... Zeile 1 _ ____________________________________________________________________________ In unserem Fall haben Sie eine neue Datei angelegt. Sie enthält noch keinen Text. In der Titelzeile sind jedoch schon der Name der Datei und die aktuelle Zeilennummer eingetragen. Bei einer neuen Datei ist der Bildschirm unterhalb der Titelzeile leer. Dieser Teil dient als "Schreibfläche". Der #ib#Cursor#ie# steht dann direkt unter der Titelzei­ le. Er zeigt immer die aktuelle #ib# Schreibposition#ie# an. Jetzt kann sofort mit dem Schrei­ ben begonnen werden, ganz wie mit einer normalen Schreibmaschine. Rufen Sie eine Datei auf, in die Sie schon Text geschrieben haben, zeigt Ihnen der Editor das zuletzt bearbeitete Textstück und Sie können normal weiter schreiben. Wollen Sie die #ib#Schreibarbeit beenden#ie# und den #ib#Editor ausschalten#ie#, so drücken Sie die beiden Tasten nacheinander. Es erscheint ____________________________________________________________________________ gib kommando: ____________________________________________________________________________ und Sie haben damit den #ib#Editor verlassen#ie# und befinden sich wieder im Monitor. #page# #ib(9)#4.2. Die wichtigsten Tasten des Editors#ie(9)# #free(1.0)# #ib(9)#4.2.1. Das #ib#Tastenfeld#ie##ie(9)# #free(1.0)# #on("i")# Auf dem Tastenfeld gibt es einige Tasten, die auf einer Schreibmaschine nicht vor­ handen sind. #off("i")# #free(1.0)# Das Tastenfeld eines EUMEL-Terminals entspricht weitgehend dem einer Schreib­ maschine. Sie finden also die Buchstaben a-z und die Ziffern 0-9 auf Tasten. Mit der #ib#SHIFT-Taste#ie# (Umschalttaste) und gleichzeitigem Drücken einer anderen Taste können Sie die großen Buchstaben und eine Reihe von speziellen anderen Zeichen, die #ib#Sonderzeichen#ie# genannt werden, schreiben. Die "Zwischenraumtaste" oder Leer­ taste erzeugt immer ein Leerzeichen. Nun gibt es in der Praxis zwei unterschiedliche Tastaturen. Zum einen existiert die #ib#EDV-Tastatur#ie#, die zum Schreiben von Programmen benutzt wird. Sie erkennt man daran, daß keine #ib#Umlaute#ie# (ä, ö, ü) und kein ß auf den Tasten abgebildet sind. Dafür gibt es Tasten für eckige und geschweifte Klammern. Sollen auf einer solchen Tasta­ tur die Umlaute geschrieben werden, muß man sich eines Tricks bedienen: mit der Taste ESC und nachfolgendem Betätigen einer anderen Taste (z.B. a, o, u) erhalten wir den entsprechenden Umlaut. In der Regel kann man die Umlaute auf dem Bildschirm eines solchen EDV-Ter­ minals nicht sehen, sondern sie erscheinen als "a", "u", usw. Beim Druck eines Textes werden sie aber richtig dargestellt. Die andere Tastatur entspricht in der #ib#Tastenbelegung#ie# weitgehend einer deutschen Schreibmaschine und besitzt Tasten für die Umlaute und ß. Sollen vorwiegend deut­ sche Texte geschrieben werden, empfiehlt es sich, solch ein Terminal zu verwenden. Tastatur Neben diesen "einfachen" Tasten gibt es die Funktionstasten, die zur Bedienung des Editors (aber auch anderer Programme) notwendig sind. Wo die Tasten auf Ihrem Gerät liegen, hängt von dem jeweiligen Gerätetyp ab. Die Wirkung der Tasten erklären wir in den anschließenden Abschnitten. #count("1")#) #foot# #value("1")#) Es kann sein, daß die Tasten nicht richtig beschriftet sind. Die Installations­ anleitung muß dann die Entsprechungen beschreiben. Zusätzlich zu den im folgenden beschriebenen können sich noch weitere Tasten auf Ihrem Terminal befinden, die aber standardmäßig keine besondere Bedeutung für den Editor haben. #end# #page# Die Funktionstasten des EUMEL-Systems #l pos (0.0)##l pos(4.0)# <,>,v,^ Positionierungstasten #table# #free(0.5)# Umschalttaste #free(0.5)# Eingabe-/ Absatztaste #free(0.5)# Verstärkertaste #free(0.5)# Löschtaste #free(0.5)# Einfügetaste #free(0.5)# Tabulatortaste #free(0.5)# Markiertaste #free(0.5)# Kommandotaste #free(0.5)# Supervisortaste #free(0.5)# Stoptaste #free(0.5)# Weitertaste #tableend##clear pos# #page# Die Wirkung der Funktionstasten #free(0.5)# #ib#Umschalttaste#ie# Wird diese Taste gleichzeitig mit einer anderen betätigt, so wird ein Buchstabe in Großschreibung, bei den übrigen Tasten das obere Zeichen, ausgegeben. So wird z.B. anstelle der "9" das Zeichen ")" ausgegeben. #free(1.5)# #ib#Kontroll-/Steuertaste#ie# Mit dieser Taste in Kombination mit Zusatztasten können Sonderfunktionen des Systems angewählt werden. Für EUMEL sind folgende drei Tastenkombinationen (wobei die Tasten gleichzeitig betätigt werden müssen) wichtig: Anhalten der Bildschirmausgabe Wirkung der SV-Taste (bei jedem Rechner) Bildschirmausgabe fortführen #l pos (0.0)##l pos(4.0)# #free(1.5)# #ib#Eingabetaste / Absatztaste#ie#, Carriage Return, kurz: 'CR' Diese Taste wird im Editor betätigt, um das Ende eines Absatzes zu kennzeichnen. Die kontinuierliche Fließtexteingabe wird durch sie unterbrochen und es wird an den Beginn der nächsten Zeile positioniert. Einrückungen werden beibehalten. Eine Ab­ satzmarke ist im Editor an der Inversmarkierung am rechten Bildschirmrand zu erken­ nen. Die 'CR'-Taste ist oft mit einem geknicktem Pfeil nach links gekennzeichnet. Im Kommandomodus (also bei "gib kommando :") wird durch Betätigung dieser Taste ein gegebenes Kommando ausgeführt. Die sonstige Benutzung dieser Taste außerhalb des Editors wird in der jeweiligen Anwendung beschrieben, z.B. Bestätigung eines Trennvorschlags bei der Silbentren­ nung. <, >, v, ^ Tasten für die Positionierung #ib#Positionierung des Cursors#ie# um eine Spalten-/Zeilenposition in die jeweilige Richtung. #free(1.5)# "#ib#Verstärkertaste#ie#"; wird als Vorschalttaste bedient. In Kombination mit anderen Funktionstasten wird deren Wirkung verstärkt. (vgl. 4-#topage("HOP")#) #on("u")#Beispiel:#off("u")# Steht der Cursor nicht am unteren Bildrand, so wird er dorthin positioniert. Steht er am unteren Bildrand, so wird um einen Bildschirminhalt "weitergeblättert". Auch die Funktionen 'RUBIN'/'RUBOUT' werden in Kombination mit der HOP-Taste verstärkt.(vgl. 4-#topage("verstärkt")#ff) #free(1.5)# #ib#Löschtaste#ie# Das Zeichen, auf dem der Cursor steht, wird gelöscht. Wenn der Cursor hinter dem letzten Zeichen einer Zeile steht, wie bei fortlaufender Eingabe üblich, wird das letzte Zeichen gelöscht. #on("u")#Beispiel:#off("u")# ____________________________________________________________________________ ................. dateiname ...................... Zeile 4 Mit der RUBOUT-Taste ist es möglich, ein Zeichen nach dem anderen auf dem Bildschirm zu löschen. Steht der Cursor auf einem Zeichen, das irrtümlicherweise eingetipp?t wurde, kann dieses durch einmaliges Betätigen der RUBOUT-Taste aus der Datei gelöscht werden. ____________________________________________________________________________ Nach Betätigen der - Taste: ____________________________________________________________________________ ................. dateiname ...................... Zeile 4 Mit der RUBOUT-Taste ist es möglich, ein Zeichen nach dem anderen auf dem Bildschirm zu löschen. Steht der Cursor auf einem Zeichen, das irrtümlicherweise eingetippt wurde, kann dieses durch einmaliges Betätigen der RUBOUT-Taste aus der Datei gelöscht werden. ____________________________________________________________________________ #page# #ib#Ein- bzw. Ausschalten des Einfügemodus.#ie# Das Betätigen der Taste schaltet in den Einfügemodus.Der Zustand wird durch das Wort "RUBIN" im linken Drittel der Titelzeile der Datei angezeigt. Vor dem Zeichen, auf dem der Cursor steht, wird eingefügt. Nochmaliges Betätigen der Taste schaltet den Einfügemodus aus. #on("u")#Beispiel:#off("u")# ____________________________________________________________________________ ................. dateiname ...................... Zeile 5 Das Betätigen der Taste schaltet in den Einfügemodus. Der Zustand wird durch das Wort "RUBIN" im linken Drittel der Titelzeile angezeigt. Vor dem Zeichen, auf dem der Cursor steht, wird ' ' eingefügt. Nochmaliges Betätigen der Taste schaltet den Einfügemodus aus. ____________________________________________________________________________ Nach Betätigen der - Taste und Einfügen des Wortes " jetzt": ____________________________________________________________________________ .......RUBIN...... dateiname ..................... Zeile 5 Das Betätigen der Taste schaltet in den Einfügemodus. Der Zustand wird durch das Wort "RUBIN" im linken Drittel der Titelzeile angezeigt. Vor dem Zeichen, auf dem der Cursor steht, wird jetzt ' ' eingefügt. Nochmaliges Betätigen der Taste schaltet den Einfügemodus aus. ____________________________________________________________________________ #ib#Tabulatortaste#ie# Betätigen Sie die 'TAB'-Taste, um vom linken Bildschirmrand auf den Textbeginn in der Zeile bzw. eine Tabellenspalte zu positionieren. Erneutes Betätigen der 'TAB'- Taste positioniert den Cursor auf die nächste eingestellte Tabulator-Position. Die eingestellten Tabulatorpositionen erkennen Sie an den Tabulatorzeichen (Dachzei­ chen) in der obersten Bildschirmzeile. Wenn keine TABs gesetzt sind, werden die beiden Schreibgrenzen, linker Bildschirm­ rand und Ende der Zeile, als #on("i")#voreingestellte# #off("i")# TABs angesehen. #free(1.5)# #ib#Ein- bzw. Ausschalten der Markierung#ie#. Bei Betätigung dieser Taste wird in einen speziellen #ib#Markierzustand#ie# geschaltet. Alles, was Sie jetzt schreiben bzw. durch Bewegen des Cursors in Richtung Dateiende kennzeichnen, steht als #on("i")#markierter# #off("i")# Bereich für die Bearbeitung zur Verfügung. Zur besseren Sichtbarkeit wird der markierte Bereich invers zum übrigen Text dargestellt. Wird der Cursor in eine Richtung bewegt, wird das gesamte Textstück zwischen Einschaltpunkt der Markierung und aktueller Cursorposition markiert. Rückwärtsbewe­ gungen des Cursors verkürzen den markierten Bereich wieder. Einen derart markierten Bereich können Sie nun z.B. duplizieren, verschieben, lö­ schen, durchsuchen oder weiterverarbeiten. (vgl. 4- #topage("mark")# ff). Durch erneutes Betätigen der MARK-Taste schalten Sie den Markier-Zustand auch wieder aus. #on("u")#Beispiel:#off("u")# Sie wollen einen Textteil markieren, um ihn an eine andere Stelle zu verschieben (evtl. um ihn an dieser Stelle später zu löschen): Sie positionieren den Cursor auf den Beginn des Textteils, gehen in den Markierzu­ stand durch Betätigen der MARK-Taste und führen nun den Cursor mit Hilfe der Positioniertasten bis zum Ende des zu markierenden Bereichs. ____________________________________________________________________________ ................. dateiname ...................... Zeile 5 Mit dem Cursor positionieren Sie an die Stelle, ab der markiert werden soll und betätigen die MARK-Taste. Nun führen Sie den Cursor bis zu der Stelle, bis zu der markiert werden soll. Der markierte Text wird normalerweise "schwarz auf weiss" dargestellt. ____________________________________________________________________________ Mit weiteren Kommandos (vgl. ESC-Taste und Kommando-Verarbeitung, 4- #topage("ESC")#) kann der Bereich nun bearbeitet werden. #free(1.5)# #ib#Kommandotaste#ie# Mit der ESC-Taste in Kombination mit einer Folgetaste können Sie vordefinierte Aktionen anwählen. Es gibt Aktionen, die vorprogrammiert zur Verfügung stehen, und Sie selbst können weitere hinzufügen. (vgl. 4-#topage("ESC")# ) #free(1.5)# #ib#SUPERVISOR-Taste im Mehrbenutzer-Betrieb#ie# Betätigen Sie diese Taste im Editor, dann unterbrechen Sie Ihre Editierarbeit und erhalten die Meldung ____________________________________________________________________________ Terminal 2 EUMEL Version 1.8/M gib supervisor kommando: ESC ? --> help ESC b --> begin("") ESC h --> halt ESC c --> continue("") ESC s --> storage info ESC q --> break ESC t --> task info ____________________________________________________________________________ Wollen Sie nun im Editor fortfahren bzw. haben Sie irrtümlich die SV-Taste betätigt, dann geben Sie das Kommando ____________________________________________________________________________ gib supervisor kommmando : continue ("Sekretariat") ____________________________________________________________________________ (falls Ihre Task, in der Sie arbeiteten, wirklich "Sekretariat" hieß!) Um Ihren in Bearbeitung befindlichen Text wieder vollständig auf dem Bildschirm zu sehen, betätigen die die Tasten Sie sind wieder an der Stelle, an der Sie den Text mit der SV-Taste verlassen ha­ ben, und können normal weiterarbeiten. #on("u")#Achtung:#off("u")# Die SV-Taste kann, je nach Terminal, durch das Betätigen von zwei Tasten gleichzeitig realisiert sein (oft 'CTRL b'). Beachten Sie die Beschreibung Ihrer Tastatur! #free(1.5)# #ib#Unterbrechen einer Ausgabe#ie# (oft auch als CTRL a realisiert). Haben Sie diese Taste aus Versehen betätigt, erkennen Sie dies daran, daß der Editor nicht "reagiert". Betätigen Sie die WEITER-Taste (oft auch CTRL c). #free(1.5)# Unterbrochene Ausgabe fortsetzen. Ein mit der STOP-Taste angehaltene Ausgabe können Sie durch Betätigen der #ib#WEITER-Taste#ie# fortsetzen. #on("u")#VORSICHT:#off("u")# Die STOP-Taste unterbricht nur die Ausgabe auf den Bildschirm. Zeichen, die während des STOP eingegeben werden, werden gespeichert und nach 'WEITER' ausgegeben! #page# 4.2.2 Speicherung von Texten #free(1.0)# #on("i")# In diesem Abschnitt wird der Begriff "Datei" erklärt und es wird erläutert, wie unterschiedliche Texte auseinandergehalten werden können. ## #off("i")# Das EUMEL-System speichert einmal geschriebene Texte, bis sie vom Benutzer gelöscht werden. In der Regel wird nicht nur ein (langer) Text oder ein Programm geschrieben, sondern mehrere und unterschiedliche. Um diese auseinanderhalten zu können, versehen wir sie jeweils mit einem Namen, der frei gewählt werden kann. Beispiele für Namen: "Brief vom 1.12.86" "1. Kapitel meines Buches" Eine Sammlung von Zeichen (also im Normalfall unsere geschriebenen Texte), die mit einem Namen versehen worden ist, nennt man eine #ib##on("bold")#Datei#ie##off("bold")#. Der Editor erstellt also eine Datei, wenn wir einen Text schreiben. Eine Datei kann bis zu 4 000 Zeilen fassen, wobei jede Zeile bis zu 32 000 Zeichen lang sein darf. Das Produkt aus der Anzahl der Zeilen und den Zeichen pro Zeile kann z.Zt. jedoch 1 000 000 Zeichen (=1MB) nicht übersteigen. #page# #ib(9)#4.2.3. #ib#Schreiben von Texten#ie##ie(9)# #free(1.0)# #on("i")# Texte werden fortlaufend geschrieben. Absätze werden durch die CR-Taste markiert. # #off("i")# #free(0.8)# Nach dieser etwas langen Vorrede können wir endlich losschreiben. Wird ein Zeichen geschrieben, rückt der #ib#Cursor#ie# automatisch nach rechts auf die nächste Schreibstelle. Durch den automatischen #ib#Wortumbruch#ie# werden angefangene Worte, die über ein Zeilenende hinausgehen würden, ohne Silbentrennung in die nächste Zeile gebracht. #u##count("6")#)#e# #foot# #u##value("6")#)#e# Nehmen Sie bitte keine Silbentrennung "per Hand" vor. Eingebrachte Trenn­ striche gelten als Bindestrich und bleiben somit auch bei Umformatierungen erhalten, was unerwünscht ist. Für diese mühevolle Aufgabe gibt es in der Text­ verarbeitung ein Programm! #end# Die 'CR'-Taste (bei einer Schreibmaschine bedeutet sie "Wagenrücklauf") braucht also nur noch betätigt zu werden, wenn eine Zeile vorzeitig beendet werden soll, d.h. bei einem #ib#Absatz#ie# oder einer #ib#Leerzeile#ie#. Der Cursor wird dabei an den Anfang der nächsten Zeile positioniert. Gleichzeitig erscheint in der vorherigen Zeile am rechten Rand des Bildschirms eine Markierung, die anzeigt, daß hier ein Absatz gemacht wurde. Darum ist das Betätigen der 'CR'-Taste bei Tabellenzeilen und Programmtexten besonders wichtig, denn hier soll ja jede Zeile separat bleiben. Sie wirkt nur hinter dem letzten Zeichen. Der Editor ist auf das Schreiben von "normalen" Texten eingestellt. Bei normalen Texten soll ein Wort, welches über das Ende einer Zeile gehen würde, automatisch in die nächste Zeile gebracht werden. Diese Funktion wird "Wortumbruch" genannt. Ist kein Wortumbruch erwünscht, zum Beispiel bei der Beschreibung von Program­ men, so geben Sie, bevor Sie den Editor aufrufen, im Monitor das Kommando ____________________________________________________________________________ gib kommando : #ib#word wrap (false)#ie# ____________________________________________________________________________ Der Wortumbruch kann durch das Kommando ____________________________________________________________________________ gib kommando : #ib#word wrap (true)#ie# ____________________________________________________________________________ wieder eingeschaltet werden. Der Editor ist standardmäßig auf "Wortumbruch" einge­ stellt und Sie sollten nur in Ausnahmefällen diese Benutzungsart ausschalten. Ein Bildschirm faßt (neben der Titelzeile) üblicherweise 23 Zeilen, die mit Text be­ schrieben werden können. Ist die letzte Zeile voll und muß eine neue Zeile begonnen werden, "rutscht" der Bildschirminhalt automatisch um eine Zeile nach oben. Damit ist Platz für eine Leerzeile, die nun ebenfalls beschrieben werden kann, usw. Keine Angst: die so verschwundenen Zeilen sind natürlich nicht "weg". Da ein Bildschirm immer nur eine beschränkte Anzahl von Zeilen hat, kann der Editor nur einen Aus­ schnitt aus der Datei zeigen. #page# Einrückungen #free(1.0)# #on("i")# Die #ib#Einrückungautomatik#ie# erlaubt bei fortlaufendem Schreiben, die Einrückung zu erhalten. # #off("i")# #free(0.5)# Soll ein Text eingerückt werden, so betätigt man entsprechend oft die Leertaste. Die in dieser Zeile geschriebene Einrückung wird automatisch in den folgenden Zeilen beibehalten, bis sie durch die Cursor-Positionierungstasten wieder aufgehoben wird. #on("u")#Beispiele für Aufzählungen:#off("u")# Einrückung funktioniert automatisch ohne aktive Eingabe von Leerschritten. ____________________________________________________________________________ ................. dateiname ...................... Zeile 1 - Der erste Typ der Aufzählungsform ist die #ib#Aufzählung#ie# durch Voran­ stellen eines Sondersymbols. Als Sondersymbole sind die beiden Zeichen "-" und "*" zugelassen. An ihnen erkennt der Editor eine Aufzählung. 12. Weiterhin können Aufzählungen durch Begriffe, gefolgt von einem Punkt oder einer ")", als #ib#Aufzählungskriterium#ie# verwendet werden. Aufzählung: Auch diese Möglichkeit steht Ihnen zur Verfü­ gung. Der Editor er­ kennt, daß Sie hier einen Begriff erläutern wollen. ____________________________________________________________________________ #page# Wann werden nun Aufzählungen vom Editor erkannt? Die hier aufgeführten Einzelheiten sollte nur der hieran interessierte Anfänger lesen! Wenn die Einrückung nicht funktionieren sollte, prüfen Sie die folgenden Punkte, die für das Einrücken erfüllt sein müssen: 1) Die Vorgängerzeile hat eine Absatzmarke. Wichtig: Innerhalb eines Aufzählungspunktes schaltet die Absatztaste die Aufzäh­ lungseinrückung aus! 2) "*" bzw. "-" und mindestes ein Leerzeichen sind die ersten Zeichen in der Zeile. 3) "." bzw. ")" und mindestens ein Leerzeichen nach höchstens sieben Zeichen sind die ersten Zeichen in der Zeile. 4) ":" und mindestens ein Leerzeichen nach höchstens 19 Zeichen sind die ersten Zeichen in der Zeile. #page# #ib(9)#4.2.4. #ib#Positionieren#ie# im Text#ie(9)# #free(1.0)# #on("i")# Um Korrekturen (Überschreiben, Löschen oder Einfügen) vorzunehmen, muß der #ib#Cursor#ie#, der die aktuelle Schreibposition anzeigt, bewegt werden können. Bei längeren Texten ist es möglich, den Cursor auch auf Zeilen zu positionieren, die (noch nicht) auf dem Bildschirm angezeigt werden. Somit zeigt der Editor nicht nur immer das Ende einer Datei, sondern einen beliebigen Ausschnitt, der auf dem Bildschirm im sogenannten '#ib#Fenster#ie#' sichtbar ist. #off("i")# #free(1.0)# Ist eine Korrektur notwendig, positionieren Sie den Cursor auf die Stelle, an der die Korrektur vorgenommen werden soll. Dazu verwenden Sie die #ib#Positionierungstasten#ie# LINKS, RECHTS, OBEN und UNTEN. LINKS und RECHTS bewegen den Cursor innerhalb einer Zeile. Stößt man mit RECHTS an das Ende einer Zeile, wird der Cursor an den Anfang der nachfolgenden Zeile bewegt. v ^ Ein #ib#Zeilenwechsel#ie# kann einfacher mit den Tasten OBEN und UNTEN vorgenommen werden. Die Taste OBEN bewegt den Cursor eine Zeile nach oben, die Taste UNTEN entsprechend eine Zeile tiefer. Was passiert nun, wenn Sie den unteren oder den oberen Rand des Bildschirms erreicht haben, und Sie positionieren darüber hinaus? In diesem Fall wird der Text zeilenweise nach oben oder nach unten verschoben und es erscheint die gewünschte Zeile, wobei am anderen Rand einige verschwinden". Wir sehen also, daß wir mit den Positionierungstasten den Bildschirm als Fenster über die Datei hinweggleiten lassen können. Den Text selbst können wir uns auf einem langen Band geschrieben vorstel­ len. Die #ib#Zeilennummer#ie#, die die Position des Cursors angibt, wird stets in der Titel­ zeile angezeigt. Vermeiden Sie es, den Cursor über das Textende hinaus nach unten laufen zu las­ sen. Sie verlängern dadurch Ihren Text um Leerzeilen, die Sie beim Weiterschrei­ ben nicht auffüllen, sondern vor sich herschieben. Innerhalb einer Zeile ist es etwas anders: Positionieren wir bei einer Zeile, die breiter als der Bildschirm ist, nach rechts, wird nicht das Fenster verschoben, sondern die Zeile 'gerollt'.(vgl. Sie hierzu das Verschieben des Gesamtfensters mit dem 'mar­ gin'-Kommando 4-#topage("margin")#) 4.2.5. Korrigieren im Text #free(1.0)# #on("i")# Einfache Korrekturen können durch #ib#Überschreiben von Zeichen#ie#, #ib#Löschen von Zeichen#ie# und #ib#Einfügen von Zeichen#ie# vorgenommen werden. #off("i")# #free(1.0)# Die einfachste Möglichkeit der Korrektur ist das #ib#Überschreiben#ie#. Soll z.B. ein Zeichen durch ein anderes ersetzt werden, so positioniert man der Cursor genau über dieses und tippt das richtige Zeichen ein. Das kann natürlich auch mit mehreren Zeichen nacheinander erfolgen. Korrekturen können Sie gleich beim Schreiben vornehmen, indem Sie die zuletzt geschriebenen Zeichen mit der #ib#RUBOUT-Taste#ie# löschen. Häufig bemerkt man aber #ib#Schreibfehler#ie# erst etwas später, so daß man diese Fehler nicht so leicht korrigieren kann. Für solche Zwecke müssen Sie den Cursor an die Textstelle bewegen, an der korrigiert werden soll. Wollen Sie ein #ib#Zeichen löschen#ie#, so positionieren Sie den Cursor auf dieses Zeichen und betätigen die Taste #ib#RUBOUT#ie#. Das Zeichen verschwindet und die Restzeile rückt heran. Sollen mehrere Zeichen gelöscht werden, muß die RUBOUT-Taste entspre­ chend oft gedrückt werden. Steht der Cursor hinter dem letzten Zeichen der Zeile, wird immer das letzte Zeichen der Zeile gelöscht. Man kann also mit dieser Eigenschaft eine Zeile "von hinten wegradieren".(vgl. hierzu auch 4- #topage("ESC RUBOUT")#) Fehlende Zeichen können Sie genauso einfach einfügen. Sie bringen den Cursor auf das Zeichen, vor das eingefügt werden soll. Dann drücken Sie die Taste #ib#RUBIN#ie#. Der Editor gelangt in den #ib#Einfügemodus#ie#, was in der Titelzeile durch RUBIN angezeigt wird. Er fügt alle Zeichen ein, die jetzt getippt werden (anstatt zu überschreiben). Der Teil der Zeile rechts vom Cursor rückt jeweils um entsprechend viele Stellen nach rechts. Wichtig ist, daß im RUBIN-Modus der Editor genauso funktioniert wie im Normalzu­ stand (natürlich mit der Ausnahme, daß eingefügt statt überschrieben wird). Im eingeschalteten RUBIN-Modus können keine Zeichen verloren gehen. Viele Benutzer lassen darum den RUBIN-Modus immer eingeschaltet, um sich vor einem unbeabsichtigten Überschreiben von Texten zu schützen. Sie korrigieren, indem Sie die Verbesserung einfügen und den alten Text löschen. Durch erneutes Betätigen der RUBIN-Taste beenden Sie den Einfügemodus. Die RUBIN-Taste wirkt wie ein Schalter, der den Einfügemodus ein- und ausschaltet. Allerdings können Sie nur so viele Zeichen in eine Zeile einfügen, bis das letzte Wort der Zeile an das Zeilenende stößt. Das letzte Wort wird am Anfang der folgenden Zeile eingefügt, sofern dort noch Platz ist und es sich nicht offensichtlich um die letzte Zeile eines Absatzes handelt. Andernfalls wird automatisch eine neue Zeile für das angefangene Wort eingefügt.(vgl. Sie hierzu auch 4- #topage("ESC RUBIN")#) #free(1.5)# #page# Springen und Zeilen einfügen/löschen #free(1.0)# #on("i")# Bewegungen des Cursors sind mit den Positionierungstasten bei größeren "Ab­ ständen" etwas mühsam, ebenso bei umfangreichen Löschungen und Einfügun­ gen. Die "#ib#Verstärkertaste#ie#" HOP ermöglicht es, diese Operationen auf einfache Weise zu beschleunigen. Mit der #ib#HOP-Taste#ie# kann man das Fenster über der Datei nicht nur zeilenweise, sondern auch um jeweils eine Fensterlänge verschie­ ben. Das nennt man #ib#Blättern#ie#. #off("i")# #free(1.0)# #goalpage("HOP")# Wird die HOP-Taste vor einer anderen der schon erklärten Funktionstasten gedrückt, verstärkt sie deren Wirkung. Die HOP-Taste ist eine "Präfix"-Taste: sie wird vor (und nicht gleichzeitig mit, wie z.B. die Umschalttaste SHIFT) einer anderen Taste ge­ drückt. Zuerst das springende Positionieren: #free(1.0)# <>> #ib#Sprung an das rechte Bildschirmende#ie#. Falls die Zeile länger als das Fenster breit ist, wird die Zeile um eine Fensterbreite nach links verschoben. #free(1.0)# <<> #ib#Sprung an den Bildschirmrand links#ie# (ggf. seitlich blätternd). #free(1.0)# <^> #ib#Sprung auf die erste Zeile des Bildschirms#ie#. Nochmaliges Betätigen dieser Tastenkombination positioniert den Cursor (und damit das Fenster in der Datei) um ein Fenster zurück. ("Blättern") #free(1.0)# #ib#Sprung auf die letzte Zeile des Bildschirms#ie#. Das Blättern erfolgt analog HOP OBEN. #free(1.0)# Positioniert das Fenster so, daß die aktuelle Zeile zur ersten des Fensters wird. #free(1.0)# #ib#Einfügen von Textpassagen#ie#. #goalpage("verstärkt")# Die HOP-Taste in Verbindung mit RUBIN und RUBOUT wird zum "verstärkten" Löschen und Einfügen verwendet. Ab der aktuellen Position des Cursors "verschwindet" der restliche Text. Es kann wie bei der anfänglichen Texteingabe fortgefahren werden. Die Anzeige '#ib#REST#ie#' in der Titelzeile erinnert daran, daß noch ein Resttext existiert. Dieser erscheint nach einem neuerlichen Betätigen der beiden Tasten HOP RUBIN wieder auf dem Bildschirm (die Anzeige 'REST' verschwindet dann wieder). ____________________________________________________________________________ ................. dateiname ...................... Zeile 4 In diesem Text soll vor dem zweiten Satz etwas eingefügt werden. #cursor("H")#ierzu wird der Cursor an die Position geführt, an der ein beliebiger Text eingefügt werden soll. ____________________________________________________________________________ Nach Betätigen der Tasten und sieht der Bildschirm wie folgt aus: ____________________________________________________________________________ ............... dateiname .........REST.......... Zeile 4 In diesem Text soll vor dem zweiten Satz etwas eingefügt werden. ____________________________________________________________________________ Nun kann beliebig viel Text eingefügt werden. Nochmaliges Betätigen von HOP und RUBIN führt den Text-Rest wieder bündig heran. Löscht die Zeile ab Cursor-Position bis Zeilenende. ____________________________________________________________________________ ................. dateiname ...................... Zeile 4 Soll eine ganze Zeile oder ein Textrest gelöscht werden, so positioniert man an die Stelle, ab der gelöscht werden soll. 'R'est löschen.... Nach HOP RUBOUT ist der Zeilenrest gelöscht. ____________________________________________________________________________ Nach Betätigen der Tasten und sieht der Bildschirm wie folgt aus: ____________________________________________________________________________ ................. dateiname ...................... Zeile 4 Soll eine ganze Zeile oder ein Textrest gelöscht werden, so positioniert man an die Stelle, ab der gelöscht werden soll. Nach HOP RUBOUT ist der Zeilenrest gelöscht. ____________________________________________________________________________ Steht der Cursor am Zeilenanfang, wird nach HOP RUBOUT dementsprechend die ganze Zeile gelöscht und die Lücke durch Nachrücken der Folgezeilen geschlossen (HOP RUBOUT betätigen). #page# Zeilen aufbrechen und Rückumbruch #free(1.0)# #on("i")# Um grössere Textpassagen einzufügen, betätigt man #ib#HOP RUBIN#ie# nacheinander. Diese Tastenfolge kann benutzt werden, um eine Zeile bzw. eine längere Textpas­ sage aufzubrechen). #ib#HOP RUBOUT#ie# am Ende einer Zeile macht einen #ib#Rückum­ bruch#ie#. #off("i")# #free(1.0)# Wie bereits beschrieben, bewirkt #ib#HOP RUBIN#ie# in einer Zeile, daß der Zeilenrest rechts des Cursors und alle Zeilen unterhalb der aktuellen Zeile scheinbar verschwinden. #ib#REST#ie# in der Titelzeile erinnert daran, daß ein Teil der Datei nicht sichtbar ist. Wird unmittelbar nach HOP RUBIN wiederum HOP RUBIN betätigt, wird der vorherige Zeilenrest als eigenständige Zeile dargestellt. Es ist damit eine Aufspaltung einer Zeile in zwei Zeilen vollzogen. Der umgekehrte Fall, nämlich zwei Zeilen zu einer zusammenzufassen (sog. #ib# Rück­ umbruch#ie#), ist durch #ib#HOP RUBOUT#ie# hinter dem letzten Zeichen einer Zeile möglich. Hinter das letzte Zeichen einer Zeile kann einfach mit dem Tabulator positioniert werden. Das Aufbrechen einer Zeile und der Rückumbruch zusammen angewandt stellen den ursprünglichen Zustand wieder her. Beispiel: Mit HOP RUBIN bricht man eine Zeile auf, der Rest der Zeile und nachfolgende Zeilen verschwinden vom Bildschirm. Erneu­ tes HOP RUBIN stellt den rechten Zeilenteil auf der nächsten Zeile und die nachfol­ genden Zeilen auf dem Bildschirm wieder dar. Da der Cursor sich noch immer am rechten Rand der aufgebrochenen Zeile befindet, kann man mit HOP RUBOUT den ursprünglichen rechten Zeilenteil wieder rekombinieren. #page# #ib(9)#4.2.6. Der #ib#Tabulator#ie##ie(9)# #free(1.0)# #on("i")# Eine weitere wichtige #ib#Positionierungshilfe#ie# innerhalb einer Zeile ist die #ib#TAB#ie#-Taste. Sie wird u.a. zum Schreiben von Tabellen benötigt. Wie bei einer Schreibmaschine können #ib#Tabulatormarken#ie# gesetzt bzw. gelöscht werden. #off("i")# #free(1.0)# Der Tabulator hat eine wichtige Funktion für das schnelle Positionieren, auch wenn keine Marken eingestellt wurden. #ib#Voreingestellte Tabulatormarken#ie# sind nämlich der Textanfang einer Zeile (Einrückung, falls vorhanden) und die Stelle direkt hinter dem letzten Zeichen der Zeile. Betätigt man also die Taste TAB, dann springt die Schreib­ marke an die nächste dieser voreingestellten Positionen. So kann man schnell mit dem Cursor an den Anfang oder das Ende einer Zeile gelangen (und z.B. am Zeilen­ ende Zeichen "von hinten" löschen oder dort weiterschreiben). Nun zum #ib#Setzen des Tabulators#ie#: Sie setzen ihn, indem Sie den Cursor auf die Zei­ lenposition bringen, in der die Marke plaziert werden soll. Hier betätigen Sie nun #ib#HOP TAB#ie#. Die Tabulatorsetzung kann man in der Titelzeile an einer Markierung ("Dach­ "-Zeichen) sehen, falls sie im Fensterbereich ist und die aktuelle Zeile nicht seitlich verschoben ist. Betätigt man nun an irgendeiner Position innerhalb einer Zeile die TAB-Taste, wird der Cursor auf die Position der nächsten Tabulatormarkierung (die sich rechts von dem Cursor befindet) oder eine der voreingestellten Positionen be­ wegt. #ib#Gesetzte Tabulatormarken#ie# können gelöscht werden, indem man mit der TAB-Taste die Position der Tabulatormarke einstellt und dann HOP TAB betätigt. Die Marke ist dann gelöscht, das Dach verschwindet in der Titelzeile. Tabulatormarkierungen hinterlassen keine Spuren in der Datei, sondern dienen nur als Positionierungshilfen. mit 'HOP TAB' gesetzte Markierungen, die mit 'TAB' ange­ sprungen werden, wirken beim Schreiben von Zahlen wie Dezimaltabulatoren, vgl. Sie dazu 4- #topage("zahlen")#. #on("u")#Beispiel:#off("u")# Es soll für den Textbeginn eine Tabulatorposition auf die 12. Spalte gesetzt werden. Hierzu wird der Cursor auf die 12. Spalte positioniert und die HOP- und die TAB- Taste nacheinander betätigt. Das "Dach"-Zeichen erscheint in der 12. Spalte in der Titelzeile und von nun an kann durch Betätigen der TAB-Taste diese Position direkt angesteuert werden. ____________________________________________________________________________ ..........^....... dateiname ...................... Zeile 4 HOP TAB wurde in der 12. Spalte betätigt. Mit TAB stehen Sie auf der 12. Spalte. ____________________________________________________________________________ Werden #ib#Tabulatormarken#ie# gesetzt (HOP TAB), gelten die voreingestellten Tabulator­ marken (Anfang und Ende einer Zeile) nicht mehr. Dies ist z.B. bei dem Schreiben von Tabellen notwendig. Andererseits möchte man beim Schreiben von "normalem" Text wieder die voreingestellten Tabulatormarken bedienen können. Mit den Tasten kann man die gesetzten Tabulatormarken (erkenntlich an dem "Dach"-Zeichen in der Kopfzeile) vorübergehend verschwinden lassen. Dann gelten wieder die voreinge­ stellten Marken. Erneutes #ib#ESC TAB#ie# stellt die gesetzten Tabulatormarken wieder her usw.. #free(1.5)# Zahlentabellen schreiben: Dezimaltabulator #goalpage("zahlen")# #free(1.0)# #on("i")# Beim Schreiben von #ib#Zahlentabellen#ie# sollen die Zahlen oft rechtsbündig im Text erscheinen. Dazu bietet der Editor den #ib#Dezimaltabulator#ie# an. #off("i")# #free(1.0)# Für jede Zahlenkolonne wird die gewünschte Position der Einerstelle (also der letzten Stelle) mit Hilfe eines Tabulators eingestellt. Mit #ib#TAB#ie# wird der Cursor zur jeweils nächsten Tabulatormarke vorgerückt. Werden nun Ziffern geschrieben, so schreibt man nicht - wie gewohnt - nach rechts, sondern die Ziffern werden nach links eingerückt. Etwas genauer: Beim Drücken einer Zifferntaste wird, solange links vor der Zahl noch ein Blank, eine Zahl, "+", "-" oder ein Punkt sichtbar ist, diese gelöscht und die hierdurch neu entstandene Ziffernfolge rechtsbündig an der Tabula­ torposition geschrieben. Das Schreiben von rechtsbündigen Zahlenkolonnen ist so leicht möglich #count("11")#): #foot# #value("11")#) Wird eine #ib#Proportionalschrift#ie# (Schrift, bei der die Zeichen unterschiedliche Breiten haben) verwendet, sollte man zwischen den einzelnen Zahlenkolonnen mindestens zwei Leerzeichen schreiben. Andernfalls bekommt man - auf Grund der unterschiedlicher Zeichenbreiten - keine rechtsbündigen Kolonnen gedruckt. #end# 12 12345,78 1 0,23 12345 1234,00 Es gibt somit vier nützliche Automatiken: neben dem automatischen Dezimaltabulator den Wortumbruch, die Einrückautomatik und die Zeileneinfügeautomatik beim ein­ fügenden Schreiben. 4.2.7. Lernen im Editor #free(1.0)# Beliebige Folgen von Tastenbetätigungen können gelernt und Tasten zugeordnet werden. Das ist sinnvoll, wenn Sie wiederholt immer die gleichen Tastenbetä­ tigungen ausführen müssen, wie z.B. in Tabellenzeilen etwas einfügen oder wenn des öfteren gleiche Texte geschrieben werden müssen, wie z.B. ein Absender, Grußformeln usw. #goalpage("ESC")# #free(1.0)# < ESC> Der #ib#Lernmodus#ie# wird durch Betätigen der Tasten #ib#ESC HOP#ie# eingeschaltet, es erscheint #ib#LEARN#ie# als Kontrolle rechts in der Titelzeile). Alle Tastenanschläge werden jetzt bis zum Ausschalten des Lernmodus gelernt. Auch Tastenanschläge wie 'CR'), so daß man kann demnach auch mehrere Zeilen lernen lassen kann. <'taste'> z.B. ESC HOP j Das Beenden oder Ausschalten des Lernmodus erfolgt durch Drücken der drei Tasten #ib#ESC HOP 'taste'#ie#. Dabei wird die gelernte Tastenanschlagsfolge, auch #ib#Lernsequenz#ie# genannt, der Taste 'taste' zugeordnet. <'taste'> z.B. ESC j Durch späteres Betätigen der Tastenfolge ESC 'taste' kann der gelernte Text an jeder Stelle der Datei geschrieben werden. #on("u")#Beispiel:#off("u")# Ein Sachbearbeiter hat jeden Tag 50 mal die Worte 'Gesellschaft für Datenverarbei­ tung' zu tippen. Er läßt den Editor diese Worte lernen mit ESC HOP Gesellschaft für Datenverarbeitung ESC HOP m Die Worte liegen jetzt auf der Taste 'm'. Wird 'm' gedrückt, erscheint ein 'm' auf dem Bildschirm. Mit ESC 'm' erscheinen die obigen Worte. ESC ist also notwendig, um das normale 'm' von der Lernsequenz zu unterscheiden. Welche Tasten dürfen zum #ib#Lernen#ie# belegt werden? Alle Tasten, außer - vom System benutzte Tasten, wie SV, CTRL; - vom Editor (je nach Anwendung) vorbelegte Tasten, wie die Tasten q oder ESC und HOP; - durch Programmierung (siehe dieses Kapitel) fest belegte Tasten. Praktische Tips: Man sollte die Tastatur nicht mit Lernsequenzen überlasten, weil man sich zu viele Tasten nicht merken kann. Besser ist es, einige wenige Tasten fest zu belegen und andere für momentane Aufgaben einzusetzen. Der Einsatz von #ib#Lernsequenz#ie#en ist besonders sinnvoll für das Schreiben von Text­ kosmetikanweisungen. Anweisungen wie z.B. 'Unterstreichen einschalten', Schrift­ typ-Anweisungen usw. werden zweckmäßigerweise auf Tasten gelegt. Hat man sich einmal beim '#ib#Lernen#ie#' verschrieben, so ist das nicht weiter schlimm: es kann ohne Bedenken korrigiert werden (z.B. mit der Taste RUBOUT). Solche Tasten­ anschläge werden dann allerdings auch gelernt, was aber bei der Benutzung der Lernsequenzen keine Bedeutung hat. 4.2.8. Textabschnitte durch Markieren bearbeiten #free(1.0)# #on("i")# Oft ergibt sich die Notwendigkeit, mehrere Zeilen oder ganze Textpassagen zu löschen oder zu verschieben. Hierbei hilft die Taste #ib#MARK#ie#, mit der man #ib#Texte markieren#ie# (also kennzeichnen) kann. Die so markierten Texte können dann auf verschiedene Weisen als Ganzes verarbeitet werden. #goalpage("ESC")# #free(1.0)# Durch Drücken der Taste MARK wird die #ib#Markierung#ie# eingeschaltet und - bei erneu­ ter Betätigung - wieder ausgeschaltet. Der Anfang der Markierung wird "festgehal­ ten" und man kann nun das Markierende durch die Positionierungstasten und die HOP-Taste in Richtung auf das Dateiende verschieben, wobei die dazwischen lie­ genden Zeichen markiert (in der Regel "schwarz auf weißem Grund" dargestellt) werden. Ein so markierter Text kann mit #ib#ESC RUBOUT#ie# gelöscht werden. #ib#Markieren und löschen#ie# mit ESC RUBOUT ist eine bequeme und sichere Löschmethode, da man genau sieht, was gelöscht wird.#goalpage("ESC RUBOUT")# #goalpage("ESC RUBIN")# Der gelöschte Abschnitt ist aber nicht vollständig gelöscht, sondern er kann an ande­ rer (oder an der gleichen) Stelle im Text durch #ib#ESC RUBIN#ie# wieder eingefügt werden. Der vorsichtig gelöschte Text landet in einem #ib#Zwischenspeicher#ie# und kann bei Bedarf mit #ib#ESC RUBIN#ie# wieder aufgerufen werden. Wird erneut vorsichtig gelöscht, so wird der letzte Text des Zwischenspeichers überschrieben. Im Zwischenspeicher ist nur für einen #on("u")#Text#off("u")# Platz. Auf diese Art kann ein Textabschnitt beliebiger Länge an eine andere Stelle des Textes sicher, schnell und bequem verschoben werden. Zusätzlich ist die nachträgliche Korrektur von fehlerhaften Löschungen möglich, weil der Text wieder mit ESC RUBIN reproduziert werden kann. Mit eingeschalteter Markierung kann auch geschrieben werden. Das #ib#markierende Schreiben#ie# ist eine besonders vorsichtige Art der Texterstellung, denn der Textein­ schub bleibt erst durch Ausschalten der Markierung (MARK) wirklich bestehen. Er kann wieder gelöscht (ESC RUBOUT) und an eine andere Stelle gebracht werden (ESC RUBIN). Beim markierenden Schreiben wirkt RUBOUT immer auf das Zeichen vor der Cursorposition. Hinweis: Positionierungen sind nur innerhalb der Markierung möglich. #page# 4.2.9. Der Fenstereditor #free(1.0)# #on("i")# Oft ist es notwendig, mit mehreren Dateien gleichzeitig zu arbeiten, z.B. wenn aus einer Datei etwas in eine andere kopiert werden muß, wenn Fehler durch die Textkosmetik-Programme oder einen Compiler gefunden werden oder wenn man kurz etwas in einer anderen Datei nachschauen will. Zu diesem Zweck bietet der Editor die Möglichkeit, zwei (oder mehr) Dateien zur gleichen Zeit zu bearbeiten. #off("i")# #free(1.0)# Der Editor ermöglicht dem Benutzer wie durch ein Fenster auf den zu bearbeitenden Text zu schauen. Es ist in diesem Zusammenhang nur natürlich, daß man bei der Bearbeitung eines Textes sich die Möglichkeit wünscht, weitere Texte gleichzeitig ansehen zu können. Dies kann notwendig sein, um zu vergleichen, Fehler zu entdek­ ken oder Textteile aus einem Fenster in ein anderes zu übertragen. Um ein neues Editor-Fenster zu "öffnen", betätigt man im Editor Betätigt man ESC e ungefähr in der Mitte des Bildschirms, hat man das Fenster auf die neue Datei in der unteren Hälfte des Bildschirms und die "alte" Datei in der oberen Bildschirmhälfte. Zunächst wird der Dateiname erfragt. Nach dessen Eingabe und dem Betätigen der 'CR' Taste wird ein Fenster auf eine andere Datei eröffnet. Die obere linke Ecke des Fensters befindet sich an der aktuellen Cursor-Position. Dabei darf sich der Cursor nicht zu sehr am rechten oder unteren Rand befinden, weil das Fenster sonst zu klein würde. In diesem "Fenster" kann man dann genauso arbeiten wie im "normalen" Editor. Mit der Tastenfolge wechselt man von einem Fenster (zyklisch) in das benachbarte. Es gibt eine Hier­ archie zwischen den Fenstern in der Reihenfolge, in der eines im anderen einge­ richtet worden ist. Gibt man in einem Fenster, so verschwindet dieses und alle darin eingeschachtelten Fenster, und man befindet sich im übergeordneten Fenster. Wir schilderten zuvor, daß man mit ESC RUBOUT und ESC RUBIN Texte verschie­ ben und löschen kann. Zwischen Dateien im Fenstereditor geht dies folgendermaßen: Durch

oder schreibt man einen markierten Teil in eine temporäre Datei (einen Zwischenspeicher); durch ESC p wird ein markierter Text aus der Ursprungsdatei entfernt und in einen Zwischenspeicher geschrieben. Im Gegensatz dazu wird er durch ESC d kopiert. Durch fügt man ihn in eine andere (oder dieselbe) Datei ein. Im Unterschied zu ESC RUBIN wird die temporäre Datei dadurch nicht entleert. Die Funktionen ESC d und ESC g leisten auf schnellere Weise dasselbe wie die Kommandos 'PUT ""' und 'GET ""'. #page# 4.2.10. Die wichtigsten vorbelegten Tasten #free(1.0)# #on ("i")# Lernsequenzen und Kommandos (d.h. ELAN-Programme) können Tasten zuge­ ordnet werden. Da einige Funktionen häufig benötigt werden, sind diese stan­ dardmäßig bestimmten Tasten zugeordnet. #off("i")# #free(1.0)# #ib#ESC q#ie# Verlassen des Editors bzw. der eingeschachtelten Fenster. #ib#ESC e#ie# Weiteres Editorfenster einschalten. #ib#ESC n#ie# Notizbuch "aufschlagen". #ib#ESC v#ie# Dateifenster auf ganzen Bildschirm vergrößern bzw. Bildschirm rekonstruieren (eingeschachteltes Fenster verlas­ sen). #ib#ESC w#ie# Dateiwechsel beim Fenstereditor. #ib#ESC f#ie# Nochmalige Ausführung des letzten Kommandos. #ib#ESC b#ie# Das Fenster wird auf den linken Rand der aktuellen (ggf. verscho­ benen) Zeile gesetzt. ESC > Zum nächsten Wortanfang. ESC < Zum vorherigen Wortanfang. #ib#ESC 1#ie# Zum Anfang der Datei. #ib#ESC 9#ie# Zum Ende der Datei. #page# Lernen #ib#ESC HOP#ie# Lernen einschalten. #ib#ESC HOP taste#ie# Lernen ausschalten und Lernsequenz auf 'taste' legen. #ib#ESC HOP HOP#ie# Gelerntes vergessen. Bedingung ist, daß man die Lernsequenz in der Task löscht, in der man sie hat lernen lassen. #free(1.0)# Operationen auf Markierungen #free(1.0)# #ib#ESC RUBOUT#ie# Markiertes "vorsichtig" löschen. #ib#ESC RUBIN#ie# Vorsichtig mit ESC RUBOUT Gelöschtes einfügen. #ib#ESC p#ie# Markiertes löschen und in die Notiz-Datei schreiben. Kann mit ESC g an anderer Stelle reproduziert werden. #ib#ESC d#ie# Duplizieren: Markiertes in die Notiz-Datei kopieren (PUT ""), anschließend die Markierung abschalten. Kann mit ESC g beliebig oft reproduziert werden. #ib#ESC g#ie# MIT ESC p gelöschten oder mit ESC d duplizierten Text an aktuelle Cursor-Stelle schreiben, d.h. Notiz-Datei an aktueller Stelle einfü­ gen (GET ""). #free(1.0)# #on("b")#Zeichen schreiben#u#1#e# #off("b")# #foot# 1) Diese Tasten sind standardmäßig so vorbelegt wie hier aufgeführt, sie könne aber von Benutzern und in Anwenderprogrammen geändert werden. #end# #free(0.5)# #ib#ESC a#ie# Schreibt ein ä. #ib#ESC A#ie# Schreibt ein Ä. #ib#ESC o#ie# Schreibt ein ö. #ib#ESC O#ie# Schreibt ein Ö. #ib#ESC u#ie# Schreibt ein ü. #ib#ESC U#ie# Schreibt ein Ü. #ib#ESC s#ie# Schreibt ein ß. #ib#ESC (#ie# Schreibt eine [. #ib#ESC )#ie# Schreibt eine ]. #ib#ESC <#ie# Schreibt eine {. #ib#ESC >#ie# Schreibt eine }. #ib#ESC \##ie# Schreibt ein \#, das auch gedruckt werden kann. #ib#ESC ­#ie# Schreibt einen (geschützten) Trennstrich, siehe Textverarbeitung. #ib#ESC k#ie# Schreibt ein (geschütztes) "k", siehe Textverarbeitung. #ib#ESC blank#ie# Schreibt ein (geschütztes) Leerzeichen, siehe Textverarbeitung. #free(1.0)# Kommando auf Taste legen #free(1.0)# #ib#ESC ESC#ie# Kommandodialog einschalten #ib#ESC ! taste#ie# Im Kommandodialog: Geschriebenes Kommando auf Taste legen. #ib#ESC ? taste#ie# Im Kommandodialog: Auf 'taste' gelegtes Kommando zum Editieren anzeigen. #ib#ESC k#ie# Im Kommandodialog: Das zuletzt editierte Kommando (einzeilige ELAN-Programm) anzeigen. Eine ausführliche Beschreibung des Kommandodialogs finden Sie im folgenden Kapi­ tel. 4.3. Die wichtigsten Editor-Kommandos #goalpage("ESC")# #free(0.5)# #ib(9)#4.3.1. Der #ib#Kommandodialog#ie##ie(9)# #free(1.0)# #on("i")# Einige Operationen kann man nur mühselig mit den bis jetzt beschriebenen Tasten durchführen. Z.B. ist es sehr zeitaufwendig, eine bestimmte Textstelle zu finden. Andere Operationen sind mit den im vorigen Kapitel beschriebenen Tasten über­ haupt nicht möglich, wie etwa die Zeilenbreite einzustellen oder Programme aufzu­ rufen, die die zu editierende Datei verarbeiten. Solche Operationen werden durch Kommandos ermöglicht, die man auf Editorebene geben kann. #off("i")# #free(1.0)# Um Kommandos an den Editor geben zu können, schalten wir in den #ib#Kommando­ zustand#ie#. Durch zweimaliges Betätigen von ESC erfolgt #on("u")#im Editor#off("u")# die Aufforderung ____________________________________________________________________________ ................. dateiname ...................... Zeile 4 Mit der ESC-Taste ist es möglich, den Kommandodialog gib kommando : ____________________________________________________________________________ Auf dem Bildschirm erscheint eine #ib#Kommandozeile#ie#, in der der Benutzer Kommandos schreiben kann. Durch Betätigen der Taste 'CR' wird das Kommando ausgeführt. #page# #ib(9)#4.3.2. Zeile und #ib#Textstelle anwählen#ie##ie(9)# #free(1.0)# #on("i")# Auf der Kommandoebene des Editors können Sie Kommandos erteilen, um an eine beliebige Stelle in der Datei zu positionieren.#off ("i")# #free(1.0)# Sie haben einen (größeren) Text erstellt und stehen nun vor dem Problem, für die Korrektur die entsprechenden Textstellen aufzufinden. #on("u")#Beispiel:#off("u")# Bei der Durchsicht eines Ausdrucks Ihres Textes stellen Sie fest, daß Sie sich ver­ schrieben haben. Anstelle von "diese Zeichen" haben Sie "diese Ziichen" geschrie­ ben. Um diese Textstelle anzuwählen, gehen Sie wie folgt vor: Sie positionieren an den Beginn der Datei und betätigen die Tastenfolge Auf dem Bildschirm ersceint: ____________________________________________________________________________ gib kommando: ____________________________________________________________________________ Sie schreiben nun die zu suchende Textstelle auf: ____________________________________________________________________________ gib kommando: "diese Ziichen" ____________________________________________________________________________ Durch die Angabe eines TEXTes in Anführungsstrichen wird nach dem eingeschlosse­ nen TEXT 'diese Ziichen' ab der aktuellen Cursor-Position gesucht. Wird 'diese Ziichen' gefunden, bleibt der Cursor auf dem gesuchten Text stehen. Andernfalls steht der Cursor am Ende der letzten Zeile der Datei. Eine andere Möglichkeit, an eine entferntere Stelle im Text zu kommen, ist die fol­ gende: Es erscheint auf dem Bildschirm: ____________________________________________________________________________ gib kommando: ____________________________________________________________________________ Sie geben nun die Textzeile an, die Sie suchen: ____________________________________________________________________________ gib kommando: 134 ____________________________________________________________________________ Durch dieses Kommando wird auf die 134. Zeile positioniert. #page# #ib(9)#4.3.3. #ib#Suchen und Ersetzen#ie##ie(9)# #free(1.0)# #on("i")# Auf der Kommandoebene des Editors können Sie wie auf der Monitor-Ebene beliebige Kommandos geben. Diese können Sie zu (ELAN-) Programmen ver­ knüpfen. Zur Erstellung dieser Programme editieren Sie wie gewohnt in der Kom­ mandozeile. Für das Positionieren, Suchen und Ersetzen innerhalb Ihres ELAN- Programms stehen Ihnen Kommandos zur Verfügung. Beliebige ELAN-Prog­ ramme sind zulässig.#off ("i")# #free(1.0)# Die #ib#Kommandozeile#ie# kann wie eine "normale" Textzeile editiert werden (Positionieren, Überschreiben, Einfügen, Löschen und Markieren). Bevor ein Programm eine Aus­ gabe erzeugt oder fehlerhafte Kommandos Fehlermeldungen hervorrufen, wird der Cursor in die linke obere Ecke positioniert. Um die Meldungen festzuhalten, sollte das #ib#Kommando 'pause'#ie# folgen. Diese Meldungen werden dann in der ersten Zeile des Bildschirms angezeigt. Danach ist man wieder im Editor und kann wie gewohnt arbeiten. Kommandos werden durch ein Semikolon voneinander getrennt. #on("u")#Beispiel:#off("u")# ____________________________________________________________________________ gib kommando: T1; "Geschäftsführung";fetch("Lieferanten",archive) ____________________________________________________________________________ Ihr ELAN-Programm besteht aus zwei Kommandos: zunächst positionieren Sie in die erste Zeile und suchen ab dort nach dem Wort "Geschäftsführung". dann lesen Sie die Datei "Lieferanten" von der Diskette in den Arbeitsspeicher. Die beiden beschriebenen Kommandos (Text bzw. eine Zeile anwählen) sind Spezial­ kommandos und können in dieser Form nicht durch ein Semikolon mit anderen Kom­ mandos kombiniert werden. Deshalb gibt es für sie eine ELAN-Form, die es erlaubt, sie mit anderen Kommandos zusammen zu verwenden: a) Einen Text ab der aktuellen Cursor-Position suchen (D ist eine Abkürzung für '#ib#DOWN#ie#'): ____________________________________________________________________________ gib kommando: "diese Zeichen" ____________________________________________________________________________ (* Kurzform *) ____________________________________________________________________________ gib kommando: #ib#D#ie# "diese Zeichen" ____________________________________________________________________________ (* Allgemeine Version *) b) Auf eine Zeile positionieren (#ib#T#ie# ist eine Abkürzung für '#ib#TO LINE#ie#'): ____________________________________________________________________________ gib kommando: 127 ____________________________________________________________________________ (* Kurzform *) ____________________________________________________________________________ gib kommando: T 127 ____________________________________________________________________________ (* Allgemeine Version *) Mehrere Kommandos können in der Kommandozeile angegeben werden. Die einzel­ nen Kommandos müssen in diesem Fall mit ';' voneinander getrennt werden. #on("u")#Beispiel:#off("u")# schaltet in den Kommandomodus ____________________________________________________________________________ gib kommando: T 1; D "noch Zeichen" ____________________________________________________________________________ Diese zwei Kommandos werden nacheinander ausgeführt. Zuerst wird auf die erste Zeile positioniert und dann (von der ersten Zeile ab) nach 'noch Zeichen' gesucht. Damit ist es möglich, die Datei nicht nur ab der aktuellen Zeile zu durchsuchen, sondern die gesamte Datei. Soll nicht in Richtung auf das Dateiende, sondern in Richtung auf den Dateianfang (also nach "oben") gesucht werden, kann man das #ib#U-Kommando#ie# (Abkürzung für #ib#UP#ie#) verwenden: ____________________________________________________________________________ gib kommando: U "noch ein Text" ____________________________________________________________________________ Ein weiteres Kommando ist das #ib#C-Kommando#ie# (Abkürzung für '#ib#CHANGE#ie#'), mit welchem man einen TEXT sucht und diesen dann ersetzt. #on("u")#Beispiel:#off("u")# ____________________________________________________________________________ gib kommando: "alte Zeichen" C "neue Zeichen" ____________________________________________________________________________ Ab der aktuellen Cursor-Position wird nach 'alte Zeichen' gesucht. Wird der TEXT gefunden, wird er durch 'neue Zeichen' ersetzt. Der Cursor befindet sich in diesem Fall hinter dem ersetzten TEXT. Wird 'alte Zeichen' dagegen nicht in der Datei gefun­ den, befindet sich der Cursor (wie beim erfolglosen Suchen mit D) am Ende der letzten Zeile der Datei. Wie alle anderen Kommandos kann auch das C-Kommando mit anderen Komman­ dos verbunden werden. #on("u")#Beispiel:#off("u")# ____________________________________________________________________________ gib kommando: #ib#T#ie# 500; "Schreibfelher" #ib#C#ie# "Schreibfehler" ____________________________________________________________________________ Hier wird ab der 500. Zeile der Datei nach 'Schreibfelher' gesucht und ggf. ersetzt. Soll ein TEXT nicht nur einmal, sondern bei jedem Auftreten ersetzt werden, benutzt man das #ib#CA-Kommando#ie# (Abkürzung für #ib#CHANGE ALL#ie#): ____________________________________________________________________________ gib kommando: "dieser alte Text" CA "dieser neue Text" ____________________________________________________________________________ Dadurch wird 'dieser alte Text' bei jedem Auftreten ab der aktuellen Cursor-Position durch 'dieser neue Text' ersetzt. Pattern Matcher #free(1.0)# Der #ib#Pattern Matcher#ie# ist ein Werkzeug zur #ib#Mustererkennung#ie#. Er dient zur Beschreibung von Texten, die in verschiedenen Ausprägungen auftreten können. Zum Suchen oder Ersetzen wird nicht ein Text fester Gestalt vorgegeben, sondern eine Beschreibung der gesuchten Struktur. #free(1.0)# Häufig werden Sie #ib#Texte suchen#ie# oder ersetzen wollen, die in einigen Varianten inner­ halb eines umfangreicheren Textes auftauchen können. Beispiel: Gesucht wird 'unser' in verschiedenen Zusammenstellungen, also auch 'unsere' oder 'unserem'. Alle Textstellen, die diesem Muster entsprechen, können in #on("u")#einem#off("u")# Suchverfahren gefunden werden, indem das Muster, welches diese Texte beschreibt, für die Suche benutzt wird: ____________________________________________________________________________ Suchen nach Begriffen deren genaue Ausprägung unbekannt ist. gib kommando:D(" unser" + any + " ") ____________________________________________________________________________ Leseweise: Suche 'unser', gefolgt beliebigen Zeichen plus einem Leerzeichen, oder auch nur einem Leerzeichen. Dieses Suchkommando liefert Treffer bei 'unser', 'unsere', 'unseres' usw.. #free(1.0)# Wie baut man ein Pattern ? #free(1.0)# Texte werden durch ihr Konstruktionsmuster aus bekannten und unbekannten Teilen beschrieben #free(1.0)# Ein Text, der in seiner konkreten Form nicht bekannt ist, dessen Aufbau jedoch durch ein Muster beschrieben werden kann, besteht aus Teilen, die als: - bekannte Texte - unbekannte Texte bezeichnet werden und die mit dem Operatoren: '+' Zusammensetzen 'OR' Alternative kombiniert werden können. Ein bekannter Text ist z.B. ein Stück eines gesuchten Textes, das als fest vorgegeben betrachtet werden kann, wie etwa der Wortstamm 'unser' in dem obigen Beispiel. Wie gewohnt wird ein solcher bekannter Text, in Anführungsstriche gesetzt, als TEXT CONST "text" notiert. Demgegenüber ist ein unbekannter Text von nicht näher zu beschreibender Gestalt. Das Muster, welches einen unbekannten Text beschreibt, steht für irgendeinen einer Vielzahl von Texten, die diesem Muster entsprechen. Mit der Prozedur: any wird das Muster für einen beliebigen Text geliefert. Im einleitenden Beispiel ist der Wortstamm bekannt, das Teilwort 'unser' kann also im 'Klartext' angegeben werden. Die Endungen sind je nach dem Zusammenhang in dem das gesuchte Wort auftritt verschieden, also zunächst unbekannt. Ein solcher unbekannter Text kann entweder durch Aufzählung der möglichen Alternativen seiner Erscheinung beschrieben werden oder durch die Prozedur 'any'. (text + ("er" OR "es" OR "em" OR ..... ) alternative Verknüpfung durch OR ("text" + any + .... ) additive Verknüpfung durch + Grundsätzlich ist zu beachten, daß der Suchvorgang des Pattern Matcher Zeichenket­ ten untersucht und nicht etwa einzelne Worte und stets nach dem längstmöglichen Muster gesucht wird! Ein schlecht beschriebener Suchtext kostet somit nicht nur viel Rechenzeit, sondern liefert auch unerwünschte Ergebnisse: z.B. sollte der Artikel 'der' mit einem führenden Leerzeichen als " der" gesucht werden, da andernfalls jedes Wort, das die Silbe 'der' enthält, einen Treffer in der Suche ergibt. Da die Suche nach unbekannten Texten viele unerwünschte Ergebnisse liefern könnte, kann die Prozedur any in zweifacher Weise eingeschränkt werden: D(" d" + any (2) ) Die Länge der unbekannten Textes wird vorgegeben, indem die Anzahl der Zeichen aus denen der Text besteht, angegeben wird. Die Angabe steht in Klammern hinter 'any'. (In diesem Beispiel genau 2 Zeichen). D(" d" + any ("aeirs")) Das Alphabet, aus dem der unbekannte Text bestehen darf, wird angege­ ben. (In diesem Beispiel darf der Text der einen Treffer ergibt nur aus den Zeichen 'a', 'e', 'i', 'r', 's' bestehen, z.B: der, die, das oder auch dies.) D(" d" + any (2,"aeirs") Auch die Kombination der Beschränkungen ist möglich. (Jetzt liefern nur noch 'der', 'die','das' etc. Treffer). #on("b")# ACHTUNG: Das Zeichen '*' nimmt eine Sonderstellung ein, da es als Abkürzung für 'any' verwandt werden kann. Soll dieses Zeichen im Text gesucht oder ersetzt werden, müssen Sie statt "*" 'any(1,"*")' schreiben. Weitere Informationen zum Pattern Matcher finden Sie im EUMEL- Handbuch zur Programmierung. #off("b")# #free(1.0)# 4.3.4. Kommandos auf Tasten legen #free(1.0)# #on("i")# Oft benutzte Kommandos können auf Tasten gelegt werden. Damit ist es möglich, den Editor auf Ihre speziellen Bedürfnisse einzurichten.#off ("i")# #free(1.0)# Oft benutzte Kommandos können mit der Drei-Tastenfolge <'taste'> auf eine Taste gelegt werden. #on("u")#Beispiel:#off("u")# (* die Kommandozeile erscheint *) ____________________________________________________________________________ gib kommando: save (SOME myself) ____________________________________________________________________________ (* das Kommando 'save (SOME myself)' ist nun auf die Taste 's' gelegt *) Wird nun die Taste 's' gedrückt, erscheint das Zeichen 's' auf dem Bildschirm. Mit #ib#ESC s#ie# wird das 'save'-Kommando ausgeführt. Natürlich können auch kompliziertere Kommandos auf Tasten gelegt werden. Möchten Sie ein Kommando, das auf eine Taste gelegt wurde, verändern, drücken Sie im Kommandodialog (!) die Drei-Tastenfolge <'taste'> #on("u")#Beispiel:#off("u")# (* in den Kommandodialog gehen *) (* es erscheint nun: 'save (SOME myself)' *) Dieses Kommando kann nun z.B. verändert und ausgeführt (durch 'CR') oder wiederum auf die gleiche oder eine andere Taste gelegt werden (durch #ib#ESC ! 'taste'#ie#). Im Editor kann das letzte im Kommandodialog eingegebene Kommando durch '#ib#ESC f#ie#' wiederholt werden. #page# #ib(9)#4.3.5. Texte aus anderen Dateien benutzen#ie(9)# #free(1.0)# #on("i")# Manchmal ist es notwendig, einen Text in eine andere Datei zu schreiben (z.B. wenn man diesen Text noch einmal verwenden will) oder einen Text einer anderen Datei in den zu bearbeitenden Text einzufügen. Die '#ib#GET#ie#'- und '#ib#PUT#ie#'-Kom­ mandos bieten die Möglichkeit, Texte zwischen Dateien auszutauschen (vergl. auch den Abschnitt über paralleles Editieren).#off ("i")# #free(1.0)# Mit dem #ib#'GET'-Kommando#ie# können wir Texte aus einer anderen Datei an die aktuelle Schreibposition kopieren. ____________________________________________________________________________ gib kommando: GET "absender" ____________________________________________________________________________ holt den Text 'absender'. Wenn also des öfteren Briefe geschrieben werden, braucht man sich den Absender nur einmalig in die Datei 'absender' zu schreiben und kann diesen mit dem Kommando 'GET' (was man auf eine Taste legen kann) u.U. mehr­ mals an verschiedenen Stellen in die Datei einfügen. Mit dem #ib#'PUT'-Kommando#ie# können wir zuvor markierte Textteile in eine Datei schrei­ ben. ____________________________________________________________________________ gib kommando: PUT "adressen" ____________________________________________________________________________ schreibt einen markierten Text in die Datei 'adressen'. 'adressen' wird ggf. eingerich­ tet. Ist die Datei 'adressen' bereits vorhanden, so wird erfragt, ob die Datei gelöscht werden kann, um den markierten Text aufzunehmen (überschreiben). Andernfalls wird der markierte Text an den bereits vorhandenen Text in 'adressen' angefügt. Es ist somit durch mehrmaliges Markieren und das 'PUT'-Kommando möglich, Texte aus einer Datei zu sammeln und in eine neue Datei zu geben. #page# #ib(9)#4.3.6. #ib#Breitere Zeilen#ie# bearbeiten#ie(9)##goalpage("margin")# #free(1.0)# #on("i")# Der Editor ist auf eine Zeilenbreite von 77 Zeichen eingestellt. Oft ist es notwen­ dig, mit einer anderen Zeilenbreite zu schreiben, welche man mit dem #ib#'limit'- Kommando#ie# einstellen kann. Aber auch die Positionierung innerhalb einer Zeile wird dadurch anders, weil breitere Zeilen nicht als Ganzes auf den Bildschirm passen. In diesem Fall wird "#ib#gerollt#ie#".#off ("i")# #free(1.0)# Eine andere Zeilenbreite stellt man durch 'limit' ein. Beachten Sie, daß die eingestell­ te Zeilenbreite für die gesamte Datei gilt. #on("u")#Beispiel:#off("u")# ____________________________________________________________________________ gib kommando: limit (180) ____________________________________________________________________________ Nun können Sie wie gewohnt schreiben. Allerdings wird die aktuelle Zeile, in der man sich befindet, nicht wie gewohnt am Bildschirmende umgebrochen, sondern erst an der Spalte 180, sofern sie nicht vorher durch die 'CR'-Taste beendet wird. Wird über das rechte Bildschirmende hinaus geschrieben, bleibt die Cursor-Position am Ende des Bildschirms erhalten, aber die Zeile wird beim weiteren Schreiben nach links verschoben, "rollt" also nach links (der Anfang der Zeile verschwindet scheinbar nach links). Mit der Positionierung verhält es sich ähnlich. Wird mit RECHTS über den rechten Bildschirmrand positioniert, wird die Zeile ebenfalls gerollt. #ib#HOP RECHTS#ie# bewirkt ein #ib#Blättern#ie# innerhalb einer einzelnen Zeile nach rechts. Analog verläuft es bei verscho­ bener Zeile, wenn nach links (LINKS bzw. #ib#HOP LINKS#ie#) positioniert wird. Beim Schreiben von Tabellen kann es sinnvoll sein, das Fenster vorübergehend auf eine andere Anfangsposition (als 1) einzustellen. Das kann mit dem #ib#'margin'-Kommando#ie# erfolgen. #on("u")#Beispiel:#off("u")# ____________________________________________________________________________ gib kommando:#ib#margin#ie# (50) ____________________________________________________________________________ Das Editorfenster zeigt nun einen Ausschnitt aus der Datei, beginnend ab der Spalte 50. In der Titelzeile wird "M50" angezeigt. #page# #ib(9)#4.3.7. Die wichtigsten Kommandos#ie(9)# #free(1.0)# #on("i")# Einige Kommandos sind speziell für die Textverarbeitung im Editor programmiert. Die wichtigsten werden hier vorgestellt.#off ("i")# #free(1.0)# any TEXT PROC any liefert ein Muster beliebiger Gestalt und Länge (also auch der Länge 0) für Suchoperationen. " ir" + any + "was" any TEXT PROC any (TEXT CONST alphabet) liefert den längstmöglichen Text, der aus den in 'alphabet' angegebenen Zeichen besteht. any ("1234567890") (* suche Zahlen *) any TEXT PROC any (INT CONST laenge) liefert ein Muster beliebiger Gestalt und der Länge 'laenge'. " d" + any (2) any TEXT PROC any (INT CONST laenge, TEXT CONST alphabet) liefert ein Muster der Länge 'laenge', das nur aus Zeichen aus 'alphabet' besteht. " d" + any (2,"erias") C OP C (TEXT CONST muster, ersatz) Ab der aktuellen Positon wird 'muster' in Richtung Dateiende gesucht und durch 'ersatz' ersetzt. Der Cursor steht danach hinter 'ersatz'. "alt" C "neu" CA OP CA (TEXT CONST muster, ersatz) Arbeitet ab der aktuellen Position wie C. Die Aktion wird jedoch bis zum Erreichen des Dateiendes wiederholt. Nach Ausführung ist somit jedes 'muster' durch 'ersatz' ersetzt. Der Cursor steht danach hinter dem letzten Zeichen der Datei. "alt" CA "neu" D OP D (INT CONST n) Positioniert das Fenster n Zeilen vorwärts in Richtung auf das Dateiende. D 50 OP D (TEXT CONST muster) Sucht 'muster' vorwärts in Richtung auf das Dateiende. Die Suche beginnt direkt hinter der aktuellen Cursor-Position. Wird 'muster' nicht gefunden, steht der Cursor hinter dem letzten Zeichen der Datei. Wird 'muster' gefunden, steht der Cursor direkt auf dem ersten Zeichen von 'muster'. D "muster" GET OP GET (TEXT CONST dateiname) Kopiert den Inhalt der Datei mit dem angegebenen Namen vor die aktuelle Cursor-Position. Ist ein Teil der Quelldatei markiert, wird nur der markierte Teil kopiert. GET "quelldatei" OP G (TEXT CONST dateiname) Wie GET. limit OP limit (INT CONST limit) Setzt die rechte Schreibgrenze auf 'limit'. limit (50) margin PROC margin (INT CONST anfang) Alle Zeilen erscheinen erst ab Spalte 'anfang' im Sichtfenster. margin (50) OR TEXT OP OR (TEXT CONST texteins,textzwei) Liefert ein Muster, wenn texteins oder textzwei gefunden wird. Die Reihenfolge spielt keine Rolle. D ("Geschäfts" + ("führung" OR "leitung")) PUT OP PUT (TEXT CONST dateiname) Richtet eine Datei mit dem angegebenen Namen ein und kopiert den markierten Textabschnitt in diese. PUT ("meine hilfsdatei") OP P (TEXT CONST dateiname) Zweck: Wie PUT. T OP T (INT CONST n) Positioniert auf die Zeile 'n'. T 999 type PROC type (TEXT CONST zeichenkette) Fügt 'zeichenkette' in die aktuelle Position der editierten Datei ein. Besonders nützlich in Verbindung mit der Prozedur 'code', um nicht auf der Tastatur enthal­ tene Zeichen in den Text zu bringen. type(code(200)) U OP U (INT CONST n) Positioniert das Fenster n Zeilen rückwärts in Richtung auf den Dateianfang. U 100 OP U (TEXT CONST muster) Sucht 'muster' rückwärts in Richtung auf den Dateianfang. Die Suche beginnt links neben der aktuellen Cursor-Position. Vergl. D U "muster" word wrap PROC word wrap (BOOL CONST an) Schaltet den automatischen Wortumbruch an (voreingestellt) bzw. aus. word wrap (true) (* angeschaltet *) word wrap (false) (* ausgeschaltet *) 4.4. Fehlersituationen und Abhilfe #free(1.0)# #on("i")# Von Zeit zu Zeit werden Sie als Anfänger in Arbeitssituationen geraten, wo Sie nicht weiterwissen. Hier sind einige Tips, wie Sie sich behelfen können.#off ("i")# #free(1.0)# Wie helfe ich mir, wenn... ... nach continue("taskname") der Monitor #on("u")#nicht#off("u")# gib kommando: sagt, sondern "schweigt"? => Sie haben die Task bei der letzten Benutzung nicht mit dem Kommando 'break' verlassen (evtl. haben Sie SV betätigt?). Sie sind jetzt im Editor, sehen aber den zuletzt bearbeiteten Textausschnitt nicht. Betätigen Sie die Tasten ESC b und der Text wird neu auf dem Bildschirm ausgegeben. #free(1.0)# ... im Editor kein Tastendruck mehr akzeptiert wird? => Sie haben irrtümlich die STOP-Taste (auch oft als CTRL a realisiert, abhängig vom Terminal), d.h. Anhalten der Bildschirmausgabe betätigt. Drücken Sie die WEITER-Taste (= CTRL c, d.h. Bildschirmausgabe fortfüh­ ren). Alle Tastenanschläge, die zwischenzeitlich zu keiner Reaktion führten, werden jetzt ausgegeben. Je nach Tastatur können STOP und WEITER auch auf anderen Tasten liegen. #free(1.0)# ... der Lernmodus über lange Zeit (ungewollt) eingeschaltet war? => a) Sie merken plötzlich, daß über einen unbestimmt langen Zeitraum alle Ihre Tastenanschläge gelernt wurden (zu erkennen an der "LEARN"-Anzeige in der Überschriftzeile). #on("u")#Was ist zu tun?#off("u")# Mit dem Kommando ESC HOP HOP vergessen Sie alles Gelernte und schalten den Lernmodus aus. => b) Sie beenden den Editor mit ESC q und die Meldung ____________________________________________________________________________ WARNUNG: Lernmodus nicht ausgeschaltet ____________________________________________________________________________ erscheint auf dem Bildschirm. #on("u")#Was ist zu tun?#off("u")# Sie können mit ESC HOP HOP das Gelernte sofort vergessen. #free(1.0)# ... Sie zu viele Absatzzeichen in Ihrem Text gesetzt haben und diese entfernen müssen? => Sie positionieren in die Zeile, in der die Absatzmarke gelöscht werden soll. Sie betätigen dann die TAB-Taste, um hinter den Text zu positionieren, dann die RUBOUT-Taste. Wenn Sie jetzt die Zeile mit den Cursor-Tasten nach oben oder unter verlassen, verschwindet die Absatzmarkierung. #free(1.0)# ... nach save("dateiname","vatertask") das Betriebssystem nicht mehr reagiert? => Sie haben die Vater-Task nicht mit dem Kommando 'global manager' in jenem Prozeß zum Empfang von Daten aus anderen Prozessen vorbereitet. #free(1.0)# ... Sie in Ihrer Task das Archive mit dem Kommando archive("archivname") anmelden wollen und das System Ihnen die Meldung "Fehler: Archive wird von Task "bib" benutzt" zustellt? => Es gibt zwei Möglichkeiten: a) Ein anderer Benutzer benötigt das Archiv-Laufwerk in diesem Moment. Sie müssen warten, bis er seine Arbeit beendet hat. b) Ein anderer Benutzer (oder Sie selbst) hat vergessen, mit dem Kommando release(archive) das Archiv in jener Task freizugeben. Falls Sie es selbst waren, holen Sie das nach. Ansonsten kann das Archiv-Kommando wieder erfolgreich gege­ ben werden, wenn fünf Minuten nicht auf das Archiv zugegriffen wurde. #free(1.0)# ... Sie eine (scheinbare oder echte) Endlosschleife auf einer Taste (z.B. Taste "x") gelernt haben und diese (versehentlich oder bewußt) durch 'ESC x' aktivieren? => Wie immer, wenn Sie eine endlos laufende Task beenden wollen, gelangen Sie mit der SV-Taste in den Supervisor-Modus und mit dem Kommando 'halt' beenden Sie die Endlosschleife. Mit ESC HOP HOP x wird danach das Gelernte 'vergessen'! #free(1.0)# ... Sie Ihre Datei verlassen wollen und 'ESC q' (scheinbar) nicht funktioniert? => Sie haben versehentlich den Feststeller für Großbuchstaben (SHIFT LOCK / CAPS LOCK) betätigt und ESC q zeigt keine Wirkung (wie auch andere Tasten­ kombinationen mit Großbuchstaben evtl. keine Wirkung zeigen).