Text-Editor de Luxe
Textverarbeitung unter CP/M plus
Texte lassen sich unter CP/M mit dem bekannten Befehl TYPE lesen. Aber eine
große Hilfe zum Bearbeiten von Texten ist er nicht. Um eine schnelle und
komfortable Arbeit unter CP/M plus zu gewährleisten, wurde dieser Text-Editor,
der übrigens auch auf dem JOYCE läuft, geschrieben. In seiner Bedienung ähnelt
er dem Programm Wordstar.
Dieser Editor wurde geschrieben, nachdem ein 48-KB-Textfile, das sich auf einer
Public-Domain-Diskette befunden hatte, sich nicht editieren ließ. Dieser Editor
ist nur 5 KB lang und bietet somit auf dem CPC 6128 und JOYCE eine
Textkapazität von etwa 56KB.
Doch kommen wir zuerst zur Tastaturbelegung. Lesen Sie diesen Teil genau durch,
denn es gibt einige kleine, aber gewöhnungsbedürftige Unterschiede zu ähnlichen
Editoren. Die JOYCE-Besitzer müssen statt CONTROL (CTRL) ALT benutzen.
1. CURSOR-Bewegung
Hoch — E
links rechts A F
runter X
für ganze Seiten:Control (CTRL) oder die ALT-Taste.
Sie wird durch weitere Kommandos ergänzt:
WORT LINKS/RECHTS: CTRL-S/D oder SHIFT-links/rechts (Cursor-Tasten)
Bei der Definition eines ‘WORTES‘ habe ich mich nicht um den Standard
gekümmert, deshalb ist auch die Funktion WORT LOESCHEN nicht integriert.
ZEILENANFANG/ZEILENENDE:
CTRL-Q-S/D oder CTRL-links/rechts (Cursor)
BILDSCHIRMANFANG/ENDE:
CTRL-Q-E/X oder SHIFT-hoch/runter (Cursor)
SEITE HOCH/RUNTER blättern:
CTRL-R/C, CTRL-Q-W/Z oder CTRL-hoch/runter
TEXTANFANG/ENDE:
CTRL-Q-R/C nach OBEN/UNTEN ROLLEN: CTRL-W/Z
Mit der TAB-Taste kann man sich innerhalb einer Zeile unter das nächste Wort
der darüberliegenden Zeile bewegen. Befindet sich der Cursor rechts des Endes
der Zeile oberhalb, so wird er zur nächsten Tabulator-Stelle, die Sie alle 8
Zeichen finden, bewegt.
Die RETURN-Taste setzt den CURSOR an den Anfang der nächste Zeile. Ist diese
leer, so wird er unter den Anfang der aktuellen Zeile gesetzt. So wird das
Einrücken von Texten erleichtert. Am Textende ist es möglich, daß sich der
Cursor nicht nach unten bewegen läßt. Dann sollte man eine horizontale Cursor-
Bewegung durchführen oder ein Zeichen eingeben.
2. Einfügen-/Überschreiben-Modus
Ein eingegebenes Zeichen wird an der aktuellen Cursor-Position abgelegt. Im
Überschreiben-Modus wird das Zeichen unter dem Cursor ‘überschrieben‘, im
Einfügen-Modus der Rest der Zeile nach rechts geschoben und dann das Zeichen
‘eingefügt‘. Zwischen den beiden Modes kann man mittels CTRL-V, COPY oder beim
JOYCE auch durch die ‘+‘-Taste umschalten. Im Einfügen-Modus wird nach dem
Drücken der RETURN-Taste automatisch eine Leerzeile eingefügt. Solange man am
Textende editiert, sollte man den Einfüge-Mode wählen, um zu vermeiden, daß der
Cursor am Textende ‘festklebt‘. Weiter oben im Text ist der Überschreiben-Modus
sinnvoller, da sonst leicht unerwünschte Leerzeilen eingefügt werden. Diese
lassen sich jedoch mit CTRL-Y leicht entfernen.
3. Löschen
Die DEL-Taste oder CTRL-H löscht das Zeichen links des Cursors;
CLR oder CTRL-G das Zeichen, auf dem sich der Cursor befindet.
CTRL-Y löscht die ganze Zeile, in der sich der Cursor befindet und schiebt den
Rest des Textes eine Zeile nach oben.
CTRL-Q-Y löscht die Zeile nur ab der Cursorposition bis zum Ende. Achtung: DEL
am Anfang der Zeile fügt die Zeile an die darüberliegende Zeile an. Durch
CTRL-N läßt sich dieser Vorgang meist rückgängig machen. (JOYCE: CLR entspricht
‘DEL->‘ )
4. Automatische Zeilensicherung
Das Editieren einer Zeile geschieht in einem Extra-Zeilenspeicher, der beim
Verlassen der Zeile und einigen anderen Kommandos in den Textspeicher
übertragen wird. Somit ist es möglich, Änderungen rückgängig zu machen, solange
der Zeilenspeicher noch nicht in den Hauptspeicher übertragen wurde. Das
Kommando hierzu lautet CTRL-Q-L. Das Übertragen der Zeile geschieht bei allen
vertikalen Cursor-Bewegungen sowie den Befehlen CTRL-K-?, CTRL-N und CTRL-Y.
Das Löschen einer ganzen Zeile läßt sich also NICHT rückgängig machen,
ebensowenig wie das Zusammenfügen zweier Zeilen durch DEL am Zeilenanfang, bei
dem möglicherweise ein Teil der angefügten Zeile gelöscht wird!!!
5. CTRL-Q — Kommandos
Nach dem Drücken von CTRL und Q gleichzeitig erscheint in der obersten Zeile
ein Q und eine Reihe von Buchstaben. Diese geben alle möglichen Befehle an.
Durch Eingabe eines nicht angegebenen Zeichens kommt man in den Editier-Modus
zurück. Die aufgeführten Zeichen darf man normal, mit SHIFT oder mit CTRL
eingeben. Sie bewirken folgende Cursor-Bewegungen:
S/D: zum Zeilenanfang/Ende
E/X: zum oberen/unteren Bildschirmende
R/C: zum Textanfang/Ende
W/Z: eine Seite hoch/runter blättern
B/K:zum Blockanfang/Ende (vergl. CTRL-K-Kommandos)
Y: Löschen bis zum Zeilenende
L: Zeilensicherung
F: Finden. Nach dem Aufruf dieses Kommandos kann man einen Text eingeben
(Leereingabe bricht ab), nach dem ab der Cursor-Position gesucht wird.
A: Suchen und Ersetzen. Auch hier muß ein Such-Text eingegeben werden,
danach noch ein weiterer Text, durch den der Such-Text ersetzt werden
soll. Vor dem Ersetzen wird noch einmal nachgefragt, ob auch ersetzt
werden soll.
Das letzte Suchen- bzw. Suchen-und-Ersetzen-Kommando kann mit CTRL-L wiederholt
werden.
6. CTRL-K-Kommandos/Blöcke
Innerhalb des Textes läßt sich ein kleinerer Textbereich markieren. Dieser wird
normalerweise invers dargestellt. Der Blockanfang wird durch CTRL-K-B auf die
Cursorposition gesetzt, das Blockende durch CTRL-K-K. Die Blockdarstellung wird
durch CTRL-K-H aus- und angeschaltet. Mit CTRL-K-V wird der Block an die
Cursor-Koordinate verschoben, mit CTRL-K-C dahin kopiert. Durch CTRL-K-W kann
man den Block auf die Diskette schreiben (Achtung: Wenn es den eingegebenen
Dateinamen bereits gibt, wird die Datei gelöscht!), mittels CTRL-K-R eine Datei
als Block laden. CTRL-K-Y löscht den markierten Block. CTRL-Q-B/K bewegt den
Cursor zur Blockanfangs-/Ende-Markierung. Zum Schutz vor Fehlern sollten vor
der Benutzung von Blocks sowohl die Blockanfangs- als auch die Blockende-
Markierung einmal gesetzt werden. Beim Laden von Dateien werden die
Blockmarkierungen auf den Anfang und das Ende der Datei gesetzt, der Block
allerdings nicht angezeigt. Wenn Ihr Text sehr groß ist, kann es vorkommen, daß
beim Kopieren oder Versetzen von Blöcken nicht mehr genug Speicherplatz
vorhanden ist. Das Programm meldet dies in der obersten Zeile. Das Versetzen
eines Blockes läßt sich dann allerdings noch tricksen, indem man den Block auf
Diskette schreibt, löscht und an der gewünschten Zielposition erneut lädt. Wir
halten es jedoch für unwahrscheinlich, daß dieser Fall auftritt.
CTRL-K-D führt in ein Untermenü mit folgenden Punkten:
Laden: Ein Dateiname wird abgefragt, im FCB 1 abgelegt und die zugehörige Datei
geladen. Der Dateiname steht im FCB 1 weiterhin zur Verfügung.
Speichern: Der Text wird unter dem im FCB 1 abgelegten Dateinamen gespeichert.
Befindet sich diese Datei bereits auf der Diskette, wird vor dem Speichern
abgefragt, ob die Datei gelöscht werden soll.
Neu Laden: Die Datei, deren Name im FCB 1 abgelegt ist (durch ‘Laden‘ oder
Angabe eines Dateinamens beim Aufruf des Editors), wird geladen. So lassen sich
Änderungen durch Neuladen rückgängig machen oder eine Datei einlesen (nach dem
Erstaufruf des Editors).
Abspeichern: Der Text wird unter einem anzugebenden Dateinamen gespeichert. Der
Name im FCB 1 wird dabei nicht verändert.
Drucken: Der Text wird auf dem Drucker ausgegeben, wenn der Drukker auf ON-LINE
ist.
Block drucken: Der Block wird auf dem Drucker ausgegeben.
Zeichensatz: Mit diesem Kommando kann man zwischen den verschiedenen CP/M-
Zeichensätzen wählen. Die Sprachen-Nr. (0-7, vergl. Handbuch) muß angegeben
werden. Das Menü selbst ist bei den Zeichensätzen 2 und 5 etwas verändert
(Klammern statt Umlauten), die Funktion des Programmes wird natürlich nicht
eingeschränkt. Beim Aufruf des Editors wird Zeichensatz 0 (amerikanisch)
eingestellt. Durch diese Option kann man Umlaute etc. im Text eingeben, ohne
die Tastatur umzudefinieren.
Text löschen: Der gesamte Text wird nach einer Sicherheitsabfrage gelöscht.
Rückkehr: Das Menü wird verlassen, das Programm kehrt in den Editiermodus
zurück. Das Drücken der RETURN-Taste hat dieselbe Wirkung.
Ende: Das Programm kehrt in den CP/M-Modus zurück. ACHTUNG: Der Text muß VORHER
abgespeichert werden.
Ein Menüpunkt wird angewählt, indem man den Buchstaben eingibt, der in der
entsprechenden Zeile groß geschrieben ist und am Anfang steht. Bei den Lade-
und Speicherfunktionen in diesem Menü wird der Dateiname in der Arbeitszeile
angezeigt. Ein Klammeraffe (@) als Drive steht dabei für das bei Aufruf des
Editors angewählte Laufwerk (Bezugslaufwerk).
7. Aufruf des Editors
Geben Sie einfach den Namen ein, unter dem sich der Editor auf der Diskette
befindet. Sie können zusätzlich einen zweiten Dateinamen angeben, der im FCB 1
abgelegt werden soll. Diese Datei kann dann durch CTRL-K-D-N geladen werden.
Beim Neuanlegen von Dateien ist dies sogar der einfachste Weg, da sonst der
Dateiname mittels CTRL-K-D-L und über ein folgendes ‘File not found‘ oder
CTRL-K-D-A und darauffolgendes Laden derselben Datei durch ‘L‘ in den FCB 1
getrickst werden muß.
8. Anpassung auf dem Joyce
Der Joyce besitzt eine etwas andere Tastatur als der CPC 6128. Die
notwendigsten Anderungen werden vom Editor selbsttätig ausgeführt. Dazu gehört
auch eine Umdefinierung der STOP-Taste ( CPC: ESC ) auf das Zeichen 252, das
als CTRL-K interpretiert wird.
Diese Umdefinierung ist nur auf der Normal-, Shift- und Control- (ALT-) Ebene
vorhanden, so daß auf den übrigen Ebenen die CTRL-C (STOP-) Funktion weiterhin
zur Verfügung steht. Alle übrigen Umdefinitionen sind auf die SHIFT- und
ALT-Ebene beschränkt, die Bildschirmgröße wird automatisch richtig eingestellt.
Leider sind die Z- und Y-Tasten vertauscht, so daß bei den CTRL-W/Z und
CTRL-Q-W/Z eine physikalisch bedingte Unlogik besteht. Außerdem sollten die
Joyce-Besitzer den Zeichensatz auf Deutsch ( 2 ) einstellen.
Das Abtippen
────────────
Nach dem Abtippen sollten Sie das programm unter einem beliebigen Namen
abspeichern, zum Beispiel SAVE “Editor.BAS“, danach kann es mit RUN gestartet
werden. Mögliche Tippfehler werden als ‘Fehler in Zeile . . . . ‘ angezeigt.
Hinweis
───────
Die Databox enthält eine fertige COM-Datei, die auf dem CPC 6128 und dem JOYCE
läuft. Die Joyce-Besitzer müssen Listing 2 als Datalader benutzen!
(Roland Weber/cd)