****************************************************************************
* Hilfe-Datei fr Zap, Version 1.39b					   *
* Copyright Dominic Symes 1992-1997. Siehe Datei !Zap.Docs.Copyright	   *
****************************************************************************

			 ZAP ist ein Texteditor

Hauptmerkmale:	 Dateien knnen in vielen verschiedenen Editier-Modes
		  angezeigt werden, z.B. Text, Byte, disassembliert, C mit
		  Syntax-Colouring, Assembler, BASIC.
		 Smtliche Tastenkrzel und Mens knnen umdefiniert werden
		 Mchtige Suchfunktion (Unix-style) mit selbstdefinierbaren
		  Makros und Throwback-Puffern zur Anzeige des Gefundenen.
		 Korrekte Unix-Tabs und Rolleisten-Operation.
		 Vollstndiges Undo nach allen Operationen.
		 Standardmiges Editieren mit Copy.
		 Schnelle Anzeige mit Bitmap- oder anti-alias-Outline-Fonts
		 Vielzahl verschiedener Bitmap-Fonts ist vorhanden.
		 Syntax-Colouring und konfigurierbare Font-Substyles.
		 In jeder Datei beliebig viele Markierungen.
		 Im Disassembler-Mode Mglichkeit, Verzweigungen zu folgen.
		 BASIC-Editor wie ARMBE.
		 Search as you type mit Minibuffer.
		 Aufnehmen und Ausfhren von Folgen von Operationen.
		 Untersttzung von Emacs-style Yank (Ausschneiden &
		  Kopieren) sowie Verschieben und Kopieren wie in !Edit.
		 Throwback/Info von C wird untersttzt.
		 Einlesen von Plattensektoren/-spuren und
		  Speicherbereichen anderer Desktop-Aufgaben.
		 Auswahl von Text per Tastatur oder Maus.
		 Taskwindow untersttzt Control-Zeichen und Line-Editor.
		 Emacs-kompatible Keymaps.
		 Automatisches Einrcken und berprfen von Klammerungen.
		 Im Code-Mode knnen Assembleranweisungen editiert werden.
		 Kompatibel mit RiscOS 2, 3 und RiscPCs.
		 Automatische Erkennung von DOS-Texten und Spool-Dateien.
		 Ausfhrliche Dokumentation und Source-Code erhltlich.
		 Eintrittspunkte erlauben Erweiterungsmodes Dritter.
		 Auf dem RiscPC Nutzung dynamischer Areas.

*************************************************************************
* Wichtige Hinweise:							*
*************************************************************************

(1)	Diese Datei gibt KEINE Auskunft ber die Meneintrge und
	Dialogfenster. Hierfr bitte in der Datei Docs.HelpData nachsehen
	oder die !Help-Anwendung starten.

(2)	Die Erweiterungs-Modes haben jeweils eine eigene Hilfe-Datei im
	Modules-Verzeichnis.

(3)	Wenn du von einer lteren Version von Zap auf diese wechselst, lies
	bitte zuerst die Datei Docs.Changes!

*************************************************************************
* Inhalt:								*
*************************************************************************

	Kapitel A	Tasten und Einstellungen.
			A.1 Voreingestellte Tastenfunktionen
			A.2 Das Redefinieren von weiteren Tasten
			A.3 ndern der Grundeinstellungen
			A.4 Unterschiede RiscOS 2 / 3 / 3.5 / 3.6 / 3.7
			A.5 Mehrere Keymaps / die Emacs-Keymap
			A.6 Farben

	Kapitel B	Laden, Speichern, Drucken und Editieren von Dateien
			B.1 Laden/Erzeugen von Dateien
			B.2 Dateien speichern, ~-Backups
			B.3 Dumping, Drucken von Dateien
			B.4 Text auswhlen
			B.5 Copy/Paste/Cut/Yank
			B.6 Text einfgen/Control-Zeichen

	Kapitel C	Hilfe zu den einzelnen Modes
			C.0 Text-Mode
			C.1 Byte-Mode .. etc. ..

	Kapitel D	Suchen und Ersetzen
			D.1 Suchen
			D.2 Ersetzen
			D.3 Search as you type

	Kapitel E	Verschiedenes
			E.1 Lernen von Tastenfolgen
			E.2 Tabs und Einrcken
			E.3 Fonts und Fontgren
			E.4 Universelles Argument
			E.5 Der Minibuffer
			E.6 Erluterungen zu einigen Meneintrgen

	Kapitel F	Weitere Informationen
			F.1 Weitere Hilfe-Dateien
			F.2 Neue Zap-Versionen
			F.3 Kontakt fr Vorschlge/Bug-Reports

*************************************************************************
* Kapitel A: Tasten und Einstellungen.					*
*************************************************************************

A.1 Voreingestellte Tastenfunktionen


Beim Laden von Zap wird die Keys-Datei eingelesen und dazu benutzt, die aktuellen Tastenfunktionen festzulegen. Ebenso werden auch die Dateien Menus, Settings und Types geladen und bearbeitet, sobald Zap gestartet wird. Nheres hierzu in Kapitel A.3. Jedem in der Keys-Datei erwhnten Tastendruck folgt ein Kommando, so da die Operation jeder beliebigen Taste durch Editieren der Datei und Umstellen der Kommando-Namen verndert werden kann. Weitere Details (Format der Keys-Datei und wie verschiedene Keymaps definiert werden) stehen in Kapitel A.2.

Die Tastenkrzel in den Mens werden automatisch auf den neuesten Stand gebracht, wenn Tastenfunktionen verndert werden (sie spiegeln die in der Grundeinstellung ausgewhlte Keymap wider). Nachfolgend sind die voreingestellten Tastenfunktionen aufgefhrt (s=Shift c=Ctrl sc=Shift+Ctrl).

Taste:		Kommando:	Funktion:

Return		RETURN		Teilt Zeile auf / fgt bei Zeilen-Edit neue
				Zeile ein. Rckt bei Auto-Einrcken ein.
				Editiert im Code-Mode eine Anweisung.
sReturn		RETURN		Wie oben.
cReturn		RETURNNOINDENT	Wie oben, aber rckt niemals ein.

Delete		DELETE		Letztes Zeichen lschen.
sDelete		DELETENEXT	Nchstes Zeichen lschen.
cDelete		DELLINE		Aktuelle Zeile lschen.
scDelete	DELTOEND	Bis zum Zeilenende lschen.

Tab		TAB		Tab-Aktion ausfhren - siehe Beschreibung
				des Tab-Mens.
sTab		SWITCHTAB	Zwischen Unix- und !Edit-Tabs umschalten.
cTab		-		Reserviert (fr !Larger/!Menon etc.)

Escape		ESCAPE		Abbruch des Copy-Mode/Auswahl-Mode/Search
				as you type/Yank.
sEscape		CANCEL		Operation abbrechen, an Startposition
				zurckkehren.
cEscape		COMMAND		ffnet den Minibuffer, in den ein Zap
				Kommando eingegeben werden kann. quivalent
				zu Emacs M-X.

<-|		DELETE		Letztes Zeichen lschen.
s<-|		DELETE		Letztes Zeichen lschen.
c<-|		FASTUNDO	Letzte Operation rckgngig machen.
sc<-|		LASTMARK	An letzte Markierung springen.

Copy		DELETENEXT	Nchstes Zeichen lschen.
				Im Copy-Mode wird das Zeichen kopiert.
sCopy		COPY		Copy-Mode einschalten. Schreibmarke mit
				den Pfeiltasten bewegen, mit COPY kopieren.
				Man kann auch von einem Fenster in ein
				anderes kopieren, indem man in diesem Auswahl
				klickt.
cCopy		SELREGION	Textauswahl ber die Pfeiltasten beginnen.
				Mit Escape/cCopy wird die Auswahl beendet.
scCopy		DUMPFILE	Text-Version der Anzeige erstellen.

Insert		TOGGLEINSERT	Zwischen Einfgen und berschreiben
				umschalten.

Print		QUICKPRINT	Datei direkt an den Drucker schicken.
sPrint		PRINTFILE	Datei ber den Druckertreiber drucken.
cPrint		OPENPRINTER	printer:$-Verzeichnis ffnen.
scPrint		CLOSEPRINTER	printer:$-Verzeichnis schlieen.

Space bar	CHAR &20	Leerzeichen einfgen.
sSpace		CHAR &20	Leerzeichen einfgen.
cSpace		SELREGION	Emacs-kompatibel.
scSpace		UNSPACE		Zustzliche Leerzeichen an der Schreibmarke
				entfernen.

Pfeiltasten:

Left		LEFT		1 nach links / letzte Markierung im Code-Mode
Right		RIGHT		1 nach rechts / an Adresse gehen im Code-Mode
Down		DOWN		Eine Zeile nach unten.
Up		UP		Eine Zeile nach oben.
sLeft		SLEFT		Ein Wort nach zurck.
sRight		SRIGHT		Ein Wort vorwrts.
sDown/PageDown	SDOWN		Eine Seite nach unten.
sUp/PageUp	SUP		Eine Seite nach oben.
cLeft		CLEFT		An den Anfang der logischen Zeile.
cRight		CRIGHT		An das Ende der logischen Zeile.
cDown		CDOWN		An das Ende des Textes (vorher Markierung).
cUp		CUP		An den Anfang des Textes (vorher Markierung).
scLeft		SCLEFT		Ohne Positionsnderung nach links scrollen.
scRight		SCRIGHT		Ohne Positionsnderung nach rechts scrollen.
scDown		SCDOWN		Ohne Positionsnderung nach unten scrollen.
scUp		SCUP		Ohne Positionsnderung nach oben scrollen.

F-Tasten:

F1		EXECUTE		Gelernte Tastenfolge ausfhren (siehe F.1).
F2		FINDFILE	Benannte Datei laden (Emacs C-X C-F).
F3		SAVE		Speichern-Fenster ffnen. Siehe dessen Hilfe.
F4		SEARCHCUR	Suche-Fenster ffnen (Schreibmarke an
				gefundene Stelle setzen; siehe E.1).
F5		GOTO		Fenster Gehe nach ffnen.
F6		TOGGLEMARK	Markierung setzen bzw. existierende lschen.
F7		SEARCHBUF	Suche-Fenster ffnen (Gefundenes in Puffer
				auflisten; siehe E.1)
F8		FULLUNDO	Volles Undo (nimmt lngsten Weg im Undo-Tree)
F9		REDO		Redo (Undo des letzten Undo)
F10		DELLINE		Aktuelle Zeile lschen.

sF1		SPLITLINE	Zeile aufteilen (ntzlich im BASIC-Mode).
sF2		SWAPWINDOW	Zwischen Fenstern umschalten.
sF3		HEXASCII	Im Byte-/Word-Mode Hex-Eingabe ein/aus.
sF4		REPLACE		Fenster zum Suchen/Ersetzen ffnen (E.2)
sF5		NULL		Reserviert.
sF6		LASTMARK	Zur letzten Markierung springen.
sF7		NEXTMATCH	Nchste Fundstelle (nach F4/F7-Suche).
sF8		RENUMBER	BASIC-Datei neu numerieren.
sF9		NEXTMARK	Zur nchsten Markierung springen.
sF10		DELTOSTART	Bis zum Zeilenanfang lschen.

cF1		JOINLINE	Zeilen zusammenziehen (ntzlich in BASIC).
cF2		CLOSEWINDOW	Aktuelles Fenster schlieen.
cF3		QUICKSAVE	Datei sofort speichern (ohne Dialogfenster).
cF4		NEWVIEW		Neue Ansicht ffnen.
cF5		WORDWRAP	Wort-Wrap ein/aus (w in der Titelleiste).
cF6		FORMATTEXT	Text bis zum Nchsten Absatz umformatieren.
cF7		LASTMATCH	Vorherige Fundstelle (siehe sF7).
cF8		BINDTOKEY	Gelernte Tastenfolge (siehe cL) an Taste
				binden.
cF9		SAVESEL		Das Fenster Auswahl speichern ffnen.
cF10		DELTOEND	Bis zum Zeilenende lschen (Emacs Ctrl K).
^
scF1		MODEN "Text"	Text-Mode   (als Text anzeigen)
scF2		MODEN "Byte"	Byte-Mode   (als Hex-Bytes anzeigen)
scF3		MODEN "Word"	Word-Mode   (als Hex-Words anzeigen)
scF4		MODEN "Ascii"	Ascii-Mode  (als Zeichen anzeigen)
scF5		MODEN "Code"	Code-Mode   (disassembliert anzeigen)
scF6		MODEN "Basic"	BASIC-Mode  (tokenisiertes BASIC anzeigen)
scF7		MODEN "Bastxt"	BASTXT-Mode (detokenisiertes BASIC anzeigen)
scF8		MODEN "Email"	Email-Mode
scF9		MODEN "C"	C-Mode mit Syntax-Colouring.
scF10		MODEN "Assembler" Acorn Assembler-Mode mit Syntax-Colouring.

Ctrl und Buchstaben:

cA		SPELL		Spell-Fenster ffnen.
cB		TOBACK		Fenster hinter die anderen Fenster schicken.
cC		COPYSEL		aktuelle Textauswahl an Schreibmarke kopieren
cD		(mehrere)	Zeile kopieren (Dupe line).
cE		KEEPREGION	Textauswahl in den Yank-Buffer aufnehmen.
cF		TOFRONT		Fenster vor die anderen Fenster holen.
cG		CANCEL		Abbruch von Search as you type und
				Rckkehr zum Ausgangspunkt; auch Abbruch von
				Yank-Operationen; Minibuffer schlieen
				(Emacs-kompatibel).
cH		MJE_HELPCONTEXT	Kontextbezogene Hilfe von !StrongHlp
cI		INDIRECT	An die Adresse springen, die das Wort unter
				der Schreibmarke bezeichnet - ntzlich im
				Code-Mode.
cJ		INDENT		Auswahl um String einrcken (siehe Auswahl
				Men)
cK		DELTOEND	Bis zum Zeilenende lschen (Emacs-kompatibel)
cL		LEARN		Tastenfolge lernen (siehe F.1).
cM		RETURN		Return-Aktion abhngig vom aktuellen Mode.
cN		NEXTMATCH	Nchste Fundstelle (nach F4/F7-Suche).
cO		OSCLI		*-Prompt zur Eingabe von CLI-Kommandos.
cP		LASTMATCH	Vorherige Fundstelle (siehe sF7)
cQ		QUOTE		Nchstes Zeichen direkt in den Text einfgen
				(auch wenn es ein Ctrl-Zeichen ist; z.B.
				cQ, cA fr Code &01).
cR		SEARCHBACK	Search as you type rckwrts.
cS		SEARCHFORWARD	Search as you type vorwrts.
cT		SELECTBUFFER	Ganzen Text auswhlen.
cU		UNIVERSALARG	Den nchsten Befehl n-mal ausfhren, z.B.
				fgt cU 4 RETURN A viermal A ein.
cV		MOVESEL		Auswahl an aktuelle Position verschieben.
cW		SETWIDTH	Breite des Fensters verndern.
cX		CUT		Lschen/Ausschneiden der Auswahl.
cY		PASTE		Paste/Yank der vorherigen Auswahl.
cZ		CLEARSEL	Auswahl aufheben.

scA		(mehrere)	Darberliegende Zeile zeichenweise kopieren.
scB		BASIC		Programm an BASIC bergeben & BASIC-Prompt.
scC		COMPILE		Speichern und CHAIN/Kompilieren eines
				Programms.
scD		INSERTDATE	Datum einfgen (Format in Keys-Datei).
scE		SAVEANDRUN	Programm speichern, ausfhren und danach
				BASIC wieder verlassen.
scF		RUNANDQUIT	Programm ausfhren und verlassen.
scG		TOGGLEWIND	Fenstergre umschalten.
scH		LISTFNS		Funktionsdefinitionen auflisten.
scI		NEXTTRACK	Eine Spur weiter.
scJ		LASTSECTOR	Einen Sektor zurck.
scK		NEXTSECTOR	Einen Sektor weiter.
scL		LOWERCASE	Nchstes Zeichen/Auswahl kleinschreiben.
scM		LASTTRACK	Eine Spur zurck.
scN		LINENOS 0	Keine Anzeige von Zeilennummer/Adresse.
scO		TOGGLEHEX	Zeilennummern (hexa)dezimal anzeigen.
scP		LINENOS 2	Physikalische Zeilennummern anzeigen.
scQ		SWAPCHARS	Nchste zwei Zeichen vertauschen.
scR		WINDOWWRAP	Window-Wrap an/aus (W in der Titelleiste).
scS		SWAPCASE	Gro-/Kleinschreibung des nchsten
				Zeichens/der Auswahl vertauschen.
scT		INSERTTIME	Uhrzeit einfgen (Format in Keys-Datei).
scU		UPPERCASE	Nchstes Zeichen/Auswahl groschreiben.
scV		-		Reserviert.
scW		SOFTWRAP	Softwrap ein/aus (s in der Titelleiste).
scX		CLOSEOTHER	Anderes geffnetes Fenster schlieen.
scY		YANK		Zyklisch durch gelschte Auswahlen Yanken.
scZ		KEYMAP 1	Emacs-Prefix-Taste (z.B. scZ ESC X).

Gemischt:

c-		SPELL_REPLACE	Aktuelles Wort mit korrekter Schreibweise
				ersetzen.
c[		LINENOS 1	Logische Zeilennummern anzeigen.
c]		LINENOS 3	Adresse am Zeilenanfang anzeigen.
sc- (c_)	FULLUNDO	Undo (Emacs-kompatibel)
scH		HELP		Hilfe zu Zap, einer Taste, einem Zap-
				Kommando oder einem Mode.
sk*		DELWORDSTART	Vorheriges Wort lschen.
sk#		DELWORDEND	Nchstes Wort lschen.

Es gibt eine Anzahl weiterer Tastenfunktionen, aber es ist nicht angebracht, an dieser Stelle genauer auf sie einzugehen. Genaue Details sind in der Keys-Datei und ber Zaps HELP-Kommando verfgbar. 

Standard-Mausfunktionen:

Klick auf Auswahl:	Schreibmarke an die angeklickte Stelle setzen.
Klick auf Men:		Das Men des Fensters ffnen.
Klick auf Spezial:	1. Ist Text ausgewhlt, wird die Auswahl verndert.
			2. Wenn sich die Schreibmarke im Fenster befindet,
			   wird der Text zwischen ihr und der angeklickten
			   Stelle angewhlt.
			3. Trifft weder 1. noch 2. zu, wird die Schreibmarke
			   an die Stelle gesetzt, wo sie zuletzt war (diese
			   ist durch einen unausgefllten Rahmen markiert).

Mit Auswahl ziehen:	Text wird ausgewhlt.
Mit Spezial ziehen:	Der ausgewhlte Text wird verndert.
			(In beiden Fllen kann Ctrl gedrckt werden, um die
			Position der Schreibmarke unverndert zu lassen.)

Doppelklick mit Auswahl:	Wort auswhlen
Dreifachklick mit Auswahl:	Zeile auswhlen
Vierfachklick mit Auswahl:	Absatz auswhlen
Fnffachklick mit Auswahl:	Ganzen Text auswhlen

A.2 Das Redefinieren von weiteren Tasten


Am Anfang der Keys-Datei werden die Tasten fr Keymap 0 (die Basis-Keymap) definiert. Jede Zeile hat dabei das Format Kommentar &xxx Kommando, wobei Kommentar die Taste beschreibt und alle Zeichen mit Ausnahme von & enthalten darf. xxx ist die Tastennummer in Hexadezimalschreibweise (siehe weiter unten),  ist eine beliebige Anzahl von Leerzeichen oder Tabs, und Kommando ein Kommando (oder mehrere Kommandos), die an diese Taste gebunden sind. In der Datei kannst du beliebig Tasten hinzufgen oder entfernen. Wird ein Tastendruck nicht erwhnt, gibt Zap ihn an die nchste Aufgabe weiter. Deswegen sollte man in der Keys-Datei F12 NICHT auffhren (bzw. wenn man es tut, das Kommando SUSPEND ausfhren lassen :-).

Die Datei HelpData im Docs-Verzeichnis enthlt eine Liste gltiger Kommandos zusammen mit deren Beschreibung. Die verwendeten Syntaxregeln werden in der Datei Commands erklrt; kurz gesagt mssen String-Parameter in "" eingeschlossen werden (bzw. knnen weggelassen werden, wenn der Minibuffer geffnet werden soll) und Kommandos knnen durch : wie in BASIC voneinander getrennt werden.

Zaps Tastencodes liegen im Bereich von &000 bis &1FF und basieren auf den von Wimp_Poll zurckgegebenen Codes. So werden die F-Tasten durch &180-&1FF dargestellt, wie in den PRMs angegeben. Wenn du die PRMs nicht hast, sieh dir einfach die Keys-Datei an. Normale Zeichen werden wie blich durch ihren ASCII-Wert reprsentiert. &7F bedeutet Delete ohne Shift-Taste. Intern benutzt Zap auch noch Codes in den Bereichen &00-&1F und &100-&17F, die sich von denen des Wimp unterscheiden. Sie sind in der Datei E-Keycodes im Docs-Verzeichnis dokumentiert.

Beispiel: Angenommen, Ctrl-] soll den Wert &1D in die Datei einfgen, dann mu man folgende Zeile eingeben: "c]        &12D CHAR &1D".

[Anm. d. bers.: Wenn man eine deutsche Tastatur hat, kann es u.U. Probleme durch nicht auslsbare Tastenkombinationen geben. Das obige Beispiel funktioniert mit der Standardversion von InternationalKeyboard nicht.]

Den Tastenkombinationen c0-c9 und sc0-sc9 wurde absichtlich noch keine Funktion zugewiesen. Es ist empfehlenswert, sie fr eigene Kommandos/Makros zu benutzen oder gelernte Tastenfolgen mit cF8 an sie zu binden. Im Abschnitt A.5 wird gezeigt, wie man mehrere Keymaps definieren und zwischen ihnen hin- und herschalten kann.

A.3 ndern der Grundeinstellungen


Das Zap-Men, das sich nach einem Klick auf Men ber einem Fenster ffnet, gilt nur fr dieses Fenster. Werden in diesem Men Einstellungen gendert, gehen sie sofort verloren, wenn das Fenster geschlossen wird. Benutze das vom Icon-Bar-Men aus erreichbare Einstellungen-Men, um eine Einstellung dauerhaft zu verndern. Anschlieend kann die nderung mit einem Klick auf den Abspeichern-Eintrag gespeichert werden.

Eine alternative (und normalerweise bequemere) Vorgehensweise ist, fr ein Fenster die Werte so anzuwhlen, wie man sie wnscht, und dann den Werte kopieren-Meneintrag des Gemischt-Untermens anzuwhlen, um sie fr alle Fenster zu bernehmen. Das Speichern geht auf die gleiche Weise wie oben beschrieben; du kannst aber auch gleich Werte abspeichern in dem Untermen anwhlen, zu dem der Eintrag Werte kopieren fhrt.

Beachte bitte, da einige Einstellungen unabhngig voneinander fr die einzelnen Modes gespeichert werden. Damit sie vom Icon-Bar-Men aus verndert werden knnen, mu man zuerst IM EINSTELLUNGEN.MODE-MEN IN DEN MODE SCHALTEN, FR DEN MAN ETWAS NDERN WILL. Fr folgende Einstellungen ist dies ntig:

	1) Fensterbreite
	2) Anzeige von Zeilennummern
	3) Automatisches Einrcken
	4) Zeilen-edit und Non standard-Option
	5) Hex-Eingabe und berschreiben
	6) Anzeigen von Tabs
	7) Farbauswahl
	8) Automatisches Entfernen von Leerzeichen beim Speichern
	9) Tab-Modus
	10) Automatische Wahl der Fensterbreite

Wenn du in einen anderen Mode schaltest, werden in den Mens die Einstellungen fr diesen Mode angezeigt.

Beispiel: Um im BASIC-Mode die Anzeige der Zeilennummern abzuschalten, kannst du folgende Men-Klicks verwenden:

	Zap.Einstellungen.Mode.BASIC
	Zap.Einstellungen.Ansicht.Zeilennr.Keine
	Zap.Einstellungen.Mode.Text

Der Mode, der in Einstellungen.Mode ausgewhlt ist, wird fr alle Dateien verwendet, deren Dateityp nicht bekannt ist, und auerdem, wenn whrend des Ladens von Dateien die Ctrl-Taste gedrckt ist. Man sollte also diesen Mode nach nderungen an den Einstellungen fr andere Modes immer wieder auf Text setzen.

Beim Abspeichern wird auch noch mit gespeichert:
	1) Ob beim Suchen zwischen Gro- und Kleinschreibung unterschieden
	   wird. (genauso alle anderen Einstellungen im Suchen-Fenster)
	2) Ob beim Schnell-Ausdruck eine Titelzeile hinzugefgt wird.

Um die Gre eines in Mode n geffneten Fensters zu verndern, fge mit einem Template-Editor zu den aktuellen Templates eines mit dem Namen mode_n hinzu (welches die aktuellen Templates sind, steht in !Zap.!ZapUser.Config.!ZapRun). Die Gre und Position dieses Template legt die Gre und Position (bis auf einen vertikalen Offset) der Fenster fest. Die anderen Template-Flags werden nicht beachtet.

In den Dateien Keys, Types und Settings werden noch weitere Einstellungen gespeichert. Die einzelnen Eintrge haben die Form: <Kommentar> &xxx <Arg1> <Arg2> ... <Argn>, wobei xxx die Nummer einer Key-Variable ist. Nachfolgend sind die Variablennummern beschrieben:

 &000-&1FF	Die Basis-Keymap.
		Arg1 = Kommando, das zum jeweiligen Tastencode gehrt

 &200-&20F	Die 16 Suchmakros.
		Arg1 = Die Makro-Zeichenfolge (bis zu drei Zeichen)
		Arg2 = Die Zeichenfolge, durch die Arg1 ersetzt wird
 &300		Das fr scD zu verwendende Datums-Format.
		Arg1 = Format-String fr den SWI OS_ConvertDateAndTime
 &301		Das fr scT zu verwendende Zeit-Format.
		Arg1 = Format-String fr den SWI OS_ConvertDateAndTime
 &302		Fontnamen von Outline-Fonts.
 &303		Anzahl von leeren Zeilen, die unten in einem Fenster
		angezeigt werden.
 &304		Font-Gre von Outline-Fonts in Points.
 &305		Anzahl der Pixel, die bei Fonts oben abgeschnitten werden.
 &305		Anzahl der Pixel, die bei Fonts unten abgeschnitten werden.
 &307		Codes, die beim Schnell-Ausdruck fr das Zeilenende an den
		Drucker gesendet werden. Arg1 = String in OS_GSTrans-Format
 &308		Abstand in Zeichen, den die Schreibmarke vom linken Rand hat.
 &309		Abstand in Zeichen, den die Schreibmarke vom rechten Rand hat
 &30A		Abstand in Zeichen, den die Schreibmarke vom oberen Rand hat.
 &30B		Abstand in Zeichen, den die Schreibmarke vom unteren Rand hat
 &30D		Rechter Rand in Pixeln.
 &30E		Dateityp, der bei Auswahl-Klick auf die Icon-Bar erzeugt wird
 &30F		Dateityp, der bei Spezial-Klick auf die Icon-Bar erzeugt wird
 &310		Anzahl der Pixel, die bei Fonts links abgeschnitten werden.
 &311		Anzahl der Pixel, die bei Fonts rechts abgeschnitten werden.
 &314		Gre des Minibuffers in Zeichen.
 &315		Beim Starten gewhlter Einrck-String.
 &316		Blinkende Schreibmarke: Dauer in 1/100-Sek. der an-Phase.
 &317		Blinkende Schreibmarke: Dauer in 1/100-Sek. der aus-Phase.
 &318		Kleinste von Auto-Breite zu verwendende Breite.
 &318		Grte von Auto-Breite zu verwendende Breite.
 &31A		Name des Zap-Font fr in Low-Res-Bildschirmmodes.
 &31B		Name des Zap-Font fr in Hi-Res-Bildschirmmodes.
 &31C		Zugriffs-Attribute von neu erzeugten Dateien.

 &400		Nummer der Basis-Keymap (normalerweise 0).
 &4xx (xx<>0)	Bereich von Keymap xx (siehe A.5)
		Arg1 = kleinste zu speichernde Zap-Tastennummer
		Arg1 = grte zu speichernde Zap-Tastennummer (inklusiv)

 &5xx		Auswahl eines bestimmten Mode abhngig von Dateityp und Pfad.
		Arg1 = geforderter Dateityp (-1 falls Dateityp egal)
		Arg2 = Suchstring, auf den der Dateiname passen mu - darf
		       die unter Suchen beschriebenen Wildcards benutzen.
		Arg3 = [+]<Mode-Name> wie bei 1xxx unten beschrieben
		Hinweis: Die Reihenfolge der Zeilen macht einen Unterschied
		- die erste passende Zeile wird verwendet.

 &1xxx		Diese Variablen whlen, in welchem Zap-Mode Dateien des Typs
		xxx geladen werden sollen (auer, Ctrl ist gedrckt).
		Arg1 = [+]<Mode-Name)
		Ist das optionale + vorhanden, wird die Datei auch dann von
		Zap geladen, wenn beim Doppelklick Shift nicht gedrckt ist.
		Bei dem Mode-Namen die Gro-/Kleinschreibung genau beachten!
		Wenn Dateitypen vor dem Pfad berprft werden sollen, diese
		in der Datei vor die &5xx-Variablen stellen.
 &2000		Wie &1xxx, aber fr Dateien ohne Dateityp.

 &10000+	Spezifizierung alternativer Keymaps (siehe A.5).
 &y0xxx		Arg1 = Kommando fr Taste mit dem Code &xxx in der Keymap
		       Nummer &y.

A.4 Unterschiede zwischen RiscOS 2 / 3 / 3.5 / 3.6 / 3.7


DYNAMISCHE AREAS: Zap benutzt unter RiscOS3.5 und hher fr Fonts und Dateien dynamische Areas. Unter frheren Versionen des OS wird der WimpSlot verwendet.

FONTS: Werden Fonts unter RO2 benutzt, bentigt Zap den Outline-FontManager V2.42, der von Impression und anderen DTP-Programmen verwendet wird.

TASKWINDOWS: Fr das ffnen von TaskWindows unter RO2 verlangt Zap, da das Modul Task im Verzeichnis System:Modules gespeichert ist, wobei es sich um das Task-Modul des DDE handeln sollte. Selbstverstndlich ffnet ^F12 unter RiscOS 2 kein TaskWindow - du kannst aber durch die Tastenkombination ^F12 an das Kommando TASKWINDOW ausfhren lassen.

DATEIEN LADEN: Nur ein Shift-Doppelklick mit der linken Shift-Taste ldt unter RO2 andere Dateien als Textdateien. Die rechte Shift-Taste wird absichtlich nicht abgefragt, weil sie von einigen Leuten fr andere Dinge gebraucht wird.

HILFE: Unter RO2 gibt es keine interaktive Hilfe. Du mut dir die HelpData-Datei ansehen.

TEMPLATES: Zap verwendet abhngig von der jeweiligen RiscOS-Version passende Template-Dateien.

A.5 Mehrere Keymaps / die Emacs-Keymap


Zap untersttzt die gleichzeitige Verwendung von mehreren Keymaps. Jede Keymap hat eine Nummer von 0 bis 255. In der Keys-Datei ist Keymap 0 die Standard-Keymap und Keymap 1 eine Keymap zur Emacs-Emulation. Die Keymaps 2 bis 4 sind Teil der Emacs-Keymap, wie weiter unten beschrieben wird. Das Kommando BASEMAP n (eingegeben nach Ctrl-Escape oder ausgefhrt durch ein Tastenkrzel) schaltet auf Keymap n um. Die Kommandos DEFAULTMAP und EMACS verhalten sich genauso wie BASEMAP 0 und BASEMAP 1.

Welche Keymap direkt nach dem Laden von Zap verwendet wird, ist durch die Variable &400 in der Keys-Datei festgelegt. Wenn du die ganze Zeit ber die Emacs-Keymap benutzen willst, setze die Variable auf 1.

Eine neue Keymap mit der Nummer &yy kann man erzeugen, indem man folgende zwei Schritte durchfhrt. Zuerst mu durch eine neue Zeile in der Keys-Datei Platz fr die Keymap reserviert werden:

	&4yy	&aa	&bb

&aa ist die niedrigste Tastennummer, die verwendet werden soll, &bb die grte (einschlielich). Ein Beispiel ist der Eintrag &401.

Als nchstes knnen die Tasten definiert werden. Um die Wirkung von Taste Nummer &xxx festzulegen, nimm eine Zeile von der Form

	&yy0xxx		<Kommando>

in die Keys-Datei auf - <Kommando> ist der Name des Kommandos, das die Taste ausfhren soll. Das Format wird in A.1 und in der Commands-Datei beschrieben.

Durch die Verwendung mehrerer Keymaps kannst du Kommandos durch eine Folge von Tastendrcken ausfhren lassen. Dafr wird das Kommando KEYMAP bentigt. Es wechselt die aktuelle Keymap, allerdings nur bis zum nchsten Tastendruck; danach wird zu der Keymap zurckgewechselt, die durch BASEMAP spezifiziert ist. Die Keymap ndert sich also nur fr einen Tastendruck (wobei dieser auch wieder ein KEYMAP-Kommando ausfhren kann).

Beispiel: Unter Emacs kann man eine Datei durch Ctrl-X 4 F laden. Das wird durch folgende Einstellung mglich:

	Ctrl-X in Keymap 1 fhrt aus: 	KEYMAP 2
	4 in Keymap 2 fhrt aus:	KEYMAP 4
	F in Keymap 4 fhrt aus:	FINDFILE

Nachdem FINDFILE ausgefhrt wurde, wird die Keymap fr alle nachfolgenden Tastendrcke wieder auf 1 zurckgesetzt.

A.6 Farben


Die Farben werden im Farben-Untermen des Ansicht-Mens einer Datei verndert. Die ersten neun Farben haben fr alle Modes dieselbe Bedeutung:

Farbe	Name

0	Background1	Hintergrundfarbe fr Rechtecke ohne Text.
1	Background2	Hintergrundfarbe fr Rechtecke mit Text.
2	Foreground	Standard-Vordergrundfarbe.
3	Selection-B	Hintergrundfarbe einer Auswahl.
4	Selection-F	Vordergrundfarbe einer Auswahl.
5	Cursor-Bac	Hintergrundfarbe der Schreibmarke (d.h. ihre Farbe).
6	Cursor-For	Vordergrundfarbe der Schreibmarke.
7	Line nums	Farbe fr Zeilennummern (z.B. in BASIC-Mode).
8	Ctrl chars	Farbe fr Control-Zeichen (0-31).

Die Farbeinstellungen, die nach der 9. Farbe folgen und durch eine gestrichelte Linie von ihr getrennt sind, sind fr die verschiedenen Modes unterschiedlich. Ist die All modes-Option angewhlt und eine der Farben 0 bis 8 wird verndert, wird sie fr alle Modes auf den neuen Wert gesetzt. Ab Farbe 9 wird nur die Einstellung fr den aktuellen Mode beeinflut.

Natrlich sind nderungen, die von dem Men eines Fensters aus gemacht wurden, nur fr dieses Fenster gltig und gehen verloren, sobald es geschlossen wird. Um die Grundeinstellungen zu ndern, mu entweder der Menpunkt Gemischt.Werte kopieren.Werte abspeichern angewhlt werden oder die Einstellungen mssen vom Iconbar-Men aus gendert und gespeichert werden.

Im Farben-Dialogfenster werden auch Font-Unterstile festgelegt. Meistens sind diese aber ausgegraut oder nicht sichtbar, da fr die Farbe ein eigener Font-Stil keinen Sinn macht, wie z.B. bei der Farbe fr angewhlten Text; hier gibt es keinen zugehrigen Font.


*************************************************************************
* Kapitel B:	Laden, Speichern, Drucken und Editieren von Dateien	*
*************************************************************************

B.1 Laden/Erzeugen von Dateien


Dateien knnen auf verschiedene Arten von Zap geladen werden:
 (a) Handelt es sich um eine Text-Datei, doppelklicke nur auf sie.
     (allgemein gilt das fr alle Dateitypen in Types mit einem +.)
 (b) Hat die Datei einen Dateityp, drcke Shift, whrend du doppelklickst.
 (c) Hat die Datei keinen Dateityp, ziehe sie auf Zaps Iconbar-Symbol.
 (d) Drcke in einem Zap-Fenster F2 und gib den Dateinamen gefolgt von RETURN
     ein (TAB vervollstndigt den Dateinamen).

Wenn eine Datei von Zap geladen wird, versucht der Editor, den fr ihre Darstellung am besten geeigneten Mode zu finden. Es existieren dazu zwei Mechanismen, die beide durch Eintrge in der Types-Datei gesteuert werden: (Details im Abschnitt A.3)

(1) Anhand des Dateinamens: Die Variablennummern &5xx sind gefolgt von einem
    Dateityp, einem Dateinamen und schlielich dem Namen des zu benutzenden
    Mode. Wenn der Dateiname (der Wildcards enthalten darf) und der Dateityp
    bereinstimmen, wird der angegebene Mode benutzt.

(2) Anhand des Dateityps: Die Variablennummern &1xxx gefolgt von einem
    Modenamen legen den Mode fest, der fr Dateien mit dem Typ &xxx verwendet
    werden soll. Steht vor dem Namen ein +, dann wird die Datei auch dann
    geladen, wenn whrend des Doppelklicks Shift nicht gedrckt ist.

Die Types-Datei wird bei der Suche nach dem passenden Eintrag von oben nach unten abgearbeitet. Dabei gibt der erste Eintrag, auf den die Datei pat, den Ausschlag fr den verwendeten Mode.

Manchmal willst du vielleicht eine Datei nicht in den voreingestellten Mode laden. Dies erreichst du durch Auswhlen des bentigten Mode im Einstellungen.Mode-Men und anschlieem Drcken der Ctrl-Taste. (Z.B. Shift-Ctrl-Doppelklick auf die Datei.) Die Datei wird in den angewhlten Mode (oft Text) geladen.

Zieht man eine Datei auf ein geffnetes Fenster, wird sie an der aktuellen Schreibmarken-Position eingefgt. Laden und Speichern von Applikation zu Applikation durch RAM-Transfers ist mglich; eine Datei kann sogar in sich selbst gespeichert werden. Sollte der Speicher knapp werden, empfiehlt sich, vor solchen Transfers Undo (im Datei-Men) abzuschalten.

In allen Modes sieht die Titelleiste eines Fensters so aus:

  <Dateiname> [*] ([Mode-Name] [Optionen]) [Ansicht-Nr/Ansicht-Anzahl]

Der Text wird zentriert, solange das Fenster gro genug ist, ihn ganz anzuzeigen, andernfalls wird er rechtsbndig angezeigt, damit der Dateiname und die Optionen sichtbar sind. Ein * zeigt an, da die Datei seit dem letzten Speichern gendert wurde. Die fr die Optionen verwendeten Zeichen werden unten erklrt. Die Ansicht-Nummer wird nur angezeigt, wenn mehr als eine Ansicht geffnet ist.

 R		Read-only, nicht in beschreibbare Datei umwandelbar.
 r		Read-only, kann in beschreibbare Datei verwandelt werden.
 D		Ist eine DOS-Textdatei (LF -> CRLF beim Speichern).
 S		Ist eine Spool-Textdatei (LF -> LFCR beim Speichern).
 A		Datei hat unbliche Attribute (mit OS_GBPB erneuern).
 u		Datei untersttzt Undo (d.h. cX bedeutet Cut, nicht Delete).
 o		berschreib-Modus (=Overwrite - mit Insert an-/abschalten).
 h		Hex-Eingabe im Byte/Word-Mode (mit cF9 an-/abschalten).
 w		Wordwrap-Modus ist aktiviert (mit cF5 an-/abschalten).
 L		Zeilen-Wrap (Linewrap).
 l		Zeilen-Edit ist aktiviert (Return fgt Leerzeilen ein).
 n		Non-Standard-Modus (verwendet vom ARMBE-Emulationsmodus).
 a		Automatisches Einrcken ist aktiviert (im Editieren-Men).
 W		Window-Wrap ist angeschaltet (mit scR an-/abschalten).
 s		Softwrap ist angeschaltet (mit scW an-/abschalten).

Man kann mithilfe des Neue Datei-Mens auf der Icon-Bar neue Dateien eines bestimmten Typs erzeugen. Im Erzeugen-Untermen ist es mglich, gerade im Speicher befindliche Module oder den Wimpslot von Applikationen auszulesen, oder auch Sektoren der Festplatte/Diskette zu lesen. Klicke mit Auswahl auf das Zap-Symbol, um eine neue Textdatei zu erzeugen, oder mit Spezial fr eine neue BASIC-Datei. Die Typen der bei Auswahl/Spezial-Klicks erzeugten Dateien knnen in der Settings-Datei gendert werden.

Zap gibt einen Warnhinweis aus, bevor eine Datei neu geladen wird, die schon geladen war und abgendert wurde. Wenn die Datei nicht gendert wurde, wird sie (wie z.B. bei !Edit) durch die neu geladene ersetzt.

Wird eine Datei geladen, konvertiert Zap den Namen durch einen Aufruf von OS_FSControl, Canonicalise_Path, wodurch alle Pfad-Referenzen in voll spezifizierte Pfadnamen umgewandelt werden (auer unter RiscOS 2). Beim Namen wird auch die Gro-/Kleinschreibung so bernommen, wie das Dateisystem sie zurckgibt.

B.2 Dateien speichern, ~-Backups


Das Fenster zum Speichern wird durch einen Druck auf F3 (oder Anwhlen der Menoption Datei) geffnet. Hier kannst du den Dateityp durch einen Klick auf Men oder Eingeben des Typs und anschlieendem Return ndern. Zap gibt eine Warnung aus, wenn durch das Abspeichern eine neuere Datei berschieben wrde (dazu mu die Option Einstellungen.Gemischt.Zeitstempel prfen angewhlt sein) oder wenn kein Pfadname zum Speichern angegeben wurde. Wird letztere Warnung ignoriert, dann speichert Zap die Datei im aktuellen Verzeichnis (CSD).

Ctrl-F3 (oder ein Klick auf Datei.Speichern) speichert die Datei sofort ab. Ctrl-F2 schliet das Fenster mit der Schreibmarke, whrend Shift-Ctrl-X ein anderes Fenster schliet. Hinweis: In Fenstern mit den Knpfen Speichern, Verwerfen und Abbruch kann man, anstelle auf einen Knopf zu drcken, auch S, D oder C fr Save, Discard und Cancel drcken. (Ctrl-S/D/C ist ebenfalls mglich.)

Wenn im Verzeichnis, in das die Datei gespeichert wird, ein Unterverzeichnis namens ~ oder ~<Nr> existiert, dann wird die alte Datei nicht einfach berschrieben, sondern stattdessen in das ~-Verzeichnis verschoben. Bei mehr als einem ~-Verzeichnis - z.B. ~1, ~2, ~3, ... ~n - bleiben damit die letzten n Versionen der Datei erhalten.

Bei der Verwendung der BASIC-Modes ist darauf zu achten, da Dateien mit dem korrekten Dateityp BASIC gespeichert werden. Wenn nmlich z.B. vor dem Speichern in den Textmodus umgeschaltet wird, speichert Zap die Datei als Text und nicht als (tokenisiertes) BASIC-Programm.

B.3 Dumping, Drucken von Dateien


Zuerst solltest du wissen, da jedes beliebige Fenster durch Drcken von Shift-Ctrl-Copy in eine Textdatei umgewandelt werden kann. Wenn man das getan hat, knnte die Datei ausgedruckt werden, indem sie auf den Druckertreiber gespeichert wird oder das Printer:$-Dateisystem mit Ctrl-Print geffnet wird und der Text dorthin gespeichert wird. Zap kennt aber auch noch zwei weitere Druck-Kommandos.

Das erste, der Schnell-Ausdruck, wird durch Drcken der Print-Taste aufgerufen. Nachdem man Return gedrckt oder auf Drucken geklickt hat, wird der Text direkt an den Drucker geschickt. Fr das Zeilenende wird jeweils ein LF gefolgt von einem CR an den Drucker gesendet. Die Codes knnen durch ndern der in Settings gespeicherten Variable &307 angepat werden.
Hinweis: Bei dieser Art zu drucken werden die deutschen Sonderzeichen oft falsch ausgegeben.

Das zweite Druck-Kommando, Schn-Ausdruck ruft man durch Drcken von Shift-Print auf. Der Druckertreiber mu dabei geladen sein. Die Datei wird nun unter Verwendung des aktuell in Ansicht.Font.Anti-aliased XXX ausgewhlten Zeichensatzes an den Druckertreiber bergeben. Die Qualitt des Ausdrucks ist noch nicht perfekt. U.U. kann es zu Problemen bei der Verwendung der Computer Concepts Turbo-Treiber kommen. Allerdings stellt dies die beste Methode dar, beim Ausdruck das Syntax-Colouring zu erhalten.

B.4 Text auswhlen


In Zap kann auf verschiedene Weise eine Textauswahl (engl. region) getroffen werden. Die offenkundigste Methode ist, die Maus zu benutzen.

Besteht noch keine Auswahl, wird durch Ziehen mit gedrckter Auswahl-Maustaste eine neue Auswahl markiert. Ziehen mit Spezial oder ein einfacher Spezial-Klick whlt den Text zwischen dem angeklickten Punkt und der Schreibmarke aus. Wenn bereits Text ausgewhlt ist, hat das Ziehen mit Auswahl die gleiche Wirkung wie oben, beim Spezial-Ziehen/Klick wird jedoch die aktuelle Auswahl verndert. In beiden Fllen bewirkt eine gedrckte Ctrl-Taste, da die Position der Schreibmarke nicht verndert wird.

Eine zweite Methode ist die Verwendung der Tastatur. Hat man sich einmal daran gewhnt, kann sie schneller sein als die Auswahl per Maus. Bewege zuerst die Schreibmarke an den Anfang des auszuwhlenden Textteils. Drcke dann Ctrl-Copy und bewege die Marke (mit den Pfeiltasten) an das Ende. Drcke jetzt Escape (oder Ctrl-Copy). Du kannst aber auch die Escape-Taste gedrckt halten, whrend du die Pfeiltasten dazu benutzt, an das Ende der Auswahl zu gelangen.

Die dritte Methode sind Mehrfachklicks mit der Maus. Ein Doppelklick whlt ein Wort aus, ein Dreifachklick eine Zeile, ein Vierfachklick einen Absatz und ein Fnffachklick die ganze Datei. Wird nach dem zweiten bzw. dritten Klick nicht losgelassen, sondern mit der Maus gezogen, dann wird der Text wort- bzw. zeilenweise ausgewhlt. Hinweis: Der BASIC-Mode schrnkt (wie ARMBE) eine mehrzeilige Auswahl normalerweise auf eine logische BASIC-Zeile ein.

B.5 Copy/Paste/Cut/Yank


Zap untersttzt sowohl die Copy- und Move-Funktionen von !Edit als auch Paste/Yank wie in Emacs.

!Edits Methode: Um eine Auswahl an die Schreibmarke zu verschieben, Ctrl-V drcken, um sie zu kopieren, Ctrl-C drcken.

Emacs Methode: Um eine Auswahl zu verschieben, sie zunchst mit Ctrl-X ausschneiden (Cut) und anschlieend mit Ctrl-Y ein Paste durchfhren (damit das funktioniert, mu Undo angeschaltet sein). Um eine Auswahl zu kopieren, sie mit Shift-Ctrl-W (Emacs meta-W) vormerken und einen Paste mit Ctrl-Y durchfhren. Shift-Ctrl-Y (Emacs meta-Y) wechselt zwischen den bis jetzt gelschten Textteilen. brigens werden auch durch mehrfaches Drcken von Ctrl-K oder F10 Daten erzeugt, die mit Ctrl-Y weiterverwendet werden knnen.

Die Copy-Taste stellt noch einen weiteren Weg dar, Text zu kopieren. Fr das Kopieren kleinerer Teile aus anderen Zeilen ist diese Methode schneller. Drcke zuerst Shift-Copy, um die Schreibmarke in zwei Marken aufzuteilen. Bewege die blinkende Marke auf die Zeichen, die du kopieren willst, und drcke fr jedes Zeichen Shift-Copy. Der Modus wird durch Drcken von Escape oder Return beendet. Diese Art zu kopieren funktioniert auch fr verschiedene Fenster, sogar fr Fenster, die in verschiedenen Modes angezeigt werden!

B.6 Text einfgen/Control-Zeichen


Im Text-Mode stehen zweierlei Mglichkeiten zur Verfgung, die Formatierung des Textes beim Eintippen zu erleichtern. Die erste, Wort-Wrap, wird mit cF5 an- bzw. abgeschaltet. Die zweite, Zeilen-Wrap, kann im Editieren.Wrap-Typ-Men angeschaltet werden (wenn du willst, kannst du eine Tastenkombination definieren, die das LINEWRAP-Kommando ausfhrt). Wenn eine der beiden Optionen angeschaltet ist, werden Textzeilen, deren Lnge die im Wort-Wrap-Men angegebene Lnge berschreitet, automatisch an Leerzeichen in mehrere Zeilen aufgeteilt. Der Unterschied zwischen den beiden Wrap-Typen ist, da das Lschen von Zeichen mit Backspace bei Wort-Wrap zu einer Neuformatierung des Abschnitts fhrt (d.h. es werden Wrter aus nachfolgenden Zeilen in die aktuelle hineingezogen), bei Zeilen-Wrap geschieht das nicht.

Control-Zeichen knnen auf zwei Weisen eingegeben werden:

Erstens kann das Zeichen gequotet werden. Drcke dazu Ctrl-Q, bevor du das gewnschte Control-Zeichen auf der Tastatur eingibst. Ctrl-Q Ctrl-A fgt so z.B. das Byte 1 ein. Zweitens kann man in Byte-Mode umschalten (scF2), die Hex-Ziffern des Codes eingeben und dann wieder in den Text-Mode zurckschalten (scF1). Damit das funktioniert, mu fr Byte-Mode die Hex-Eingabe-Option aktiviert sein.

Beim Definieren eigener Makros, die fr eine Tastenkombination mehrere Kommandos ausfhren, sind evtl. die Kommandos INSERT und INSERTGS ntzlich. Das erstere fgt einen String in den Text ein, letzteres bergibt den String zunchst an OS_GSTrans, bevor er eingefgt wird.

*************************************************************************
* Kapitel C:	Hilfe zu den einzelnen Modes				*
*************************************************************************

Zap untersttzt fr die Textdarstellung bis zu 256 verschiedene Modes. Im Augenblick ist fr 32 Modes Platz reserviert. Details darber, wie man selbst einen Mode schreiben kann, findest du im Verzeichnis !Zap.Docs. Hier werden die im Augenblick definierten Modes beschrieben. Die HelpData-Datei sowie die Hilfe-Dateien der einzelnen Modes (im Verzeichnis !Zap.Modules) enthalten noch weitere Informationen.

C.0 Text-Mode


Der Standard-Mode fr das Editieren von Text. Die meisten der in diesem Mode verfgbaren Funktionen werden in anderen Teilen der Anleitung behandelt. Eine detaillierte Liste der Menoptionen kannst du in der HelpData-Datei finden. Das Einfgen von Control-Zeichen geht am einfachsten durch kurzzeitiges Wechseln in Byte-Mode. Das Zeichen &09 wird in einer Textdatei als Horizontal-Tabulator zur nchsten Spalte interpretiert, die ein Vielfaches von 8 ist. Den Code dieses Zeichens und die Weise, wie es angezeigt wird, kannst Du im Ansicht-Men ndern, die Wirkung eines Drucks auf die Tab-Taste wird dagegen im Men Editieren.Tab-Modus beeinflut.

C.1 Byte-Mode


Dieser Mode zeigt Dateien als Hex-Bytes an und ist zum Untersuchen von Daten oder Einfgen von Control-Zeichen ntzlich. Letzteres ist bei angewhlter Option Hex-Eingabe (Shift-F3) mglich. Ist Hex-Eingabe ausgeschaltet und du drckst die Tasten 0 und B, werden die Buchstaben 0 und B eingefgt. Ist die Hex-Eingabe aktiviert (h in der Titelleiste), wird dagegen das Byte &0B eingefgt. Wenn die Position der Daten in der Datei nicht verndert werden soll, empfiehlt es sich, mit der Insert-Taste berschreiben einzuschalten.

C.2 Word-Mode


hnlich wie Byte-Mode, allerdings werden die Daten als Words gezeigt. Tippt man Zeichen ein, ohne da die Hex-Eingabe aktiviert ist, hat das keine Wirkung, ist sie eingeschaltet, wird das angegebene Wort in Hex eingefgt.

C.3 ASCII-Mode


Die Daten werden als ASCII-Dump angezeigt, d.h. Control-Zeichen wie NL oder Tab werden nicht gesondert behandelt. Eingegebene Zeichen werden wie normal eingefgt.

C.4 Code-Mode


Dieser Mode zeigt Daten disassembliert mit einer Anweisung pro Zeile an. Zap benutzt dafr nicht das Debugger-Modul der RiscOS-ROMs, sondern ldt in Form des Debugger Plus eine neue Version nach, die das ROM-Modul vollstndig ersetzt und ihm gegenber stark erweiterte Fhigkeiten hat.

Die vier ntzlichsten Tasten im Code-Mode sind Ctrl-I, die Links- und Rechts-Pfeiltasten und Return. Ctrl-I (Indirect) bewirkt z.B., wenn die Schreibmarke am Anfang der Datei stand, da sie auf den Start-Code gesetzt wird. Steht sie auf einer Anweisung wie BL &0012345 oder ADR r0,&01822445, dann springt die Rechts-Pfeiltaste an die dargestellte Adresse. Die Links-Pfeiltaste kann jederzeit dazu benutzt werden, an die vorherige Position zurckzukehren. Dieses Merken von alten Positionen benutzt den Markierungs-Puffer und kann beliebig tief verschachtelt sein.

Mittels der Return-Taste kannst du einzelne Anweisungen editieren (ASSEMBLE-Kommando). Nach dem Tastendruck wird der Minibuffer geffnet, in dem zunchst die alte Anweisung steht. Du kannst sie editieren und mit einem weiteren Druck auf Return assemblieren und zurckschreiben lassen. Die Assemblierung wird vom ZapBASIC-Modul bernommen, das die Anweisung tokenisiert und dem BASIC-Assembler bergibt. Dadurch knnen die BASIC-Funktionen ASC, EQUD, ADR etc. benutzt werden.

Hat die Datei den Typ Module, dann wird fr die ersten Words anstelle der Anweisung der Name des Offsets angezeigt.

C.5 BASIC-Mode


In diesem Mode kann man BASIC-Dateien direkt in detokenisierter Form editieren, obwohl Zap sie tokenisiert im Speicher stehen hat.

Viele weitere wichtige Details ber diesen Mode stehen in !Zap.Modules.!ZapBASIC.!Help.

Bemerkung: Beim Laden werden BASIC-Programme leicht verndert. Das Zeilenformat, das man editiert, sieht so aus:

 xx yy zz "Tokenised line" &0D

xx yy zz ist die Zeilennummer in der 3-Byte-Textform, wie sie auch hinter GOTO- oder GOSUB-Befehlen steht.

C.6 BASTXT-Mode


Editieren von BASIC-Dateien in detokenisierter Form (d.h. beim Laden und Speichern wird automatisch detokenisiert bzw. tokenisiert).
Viele weitere wichtige Details stehen in !Zap.Modules.!ZapBASIC.!Help.

C.7 Email-Mode


Dieser Mode ist fr das Editieren von Emails bestimmt.
!Zap.!Modules.!ZapEmail.!Help enthlt eine ausfhrliche Anleitung.

C.8 C-Mode


Ein Mode fr die Darstellung von C-Quelltexten mit Syntax-Colouring. Weitere Details im Verzeichnis !Zap.Modules.!ZapMJE.

C.9 C++ Mode


Ein Mode fr die Darstellung von C++ Quelltexten mit Syntax-Colouring. Weitere Details im Verzeichnis !Zap.Modules.!ZapMJE.

C.10 Java-Mode


Ein Mode fr die Darstellung von Java-Quelltexten mit Syntax-Colouring. Weitere Details im Verzeichnis !Zap.Modules.!ZapMJE.

C.11 Throwback-Mode


Dieser Mode zeigt die Daten an, wenn im Suchen-Fenster die Option auflisten angewhlt wurde, auerdem wird er fr C-Throwback und Ausgabe von !Find-Info verwendet. Ein Doppelklick auf eine Zeile setzt die Schreibmarke an die entsprechende Stelle in der durchsuchten Datei. Ein Shift-Doppelklick springt ebenfalls an diese Stelle, gleichzeitig wird die Throwback-Datei geschlossen. Ein Klick mit Spezial entfernt die jeweilige Zeile aus der Datei. Dreifaches Klicken springt an die angegebene Stelle in der durchsuchten Datei und holt auerdem deren Fenster nach vorne.

Die RETURN-Taste hat den gleichen Effekt wie ein Doppelklick und DELETE den gleichen Effekt wie ein Spezial-Klick.

C.12 Taskwindow-Mode


In diesem Mode laufen Taskwindows.
Details sind in der Datei !Zap.Modules.!ZapBASIC.!Help enthalten.

C.13-C.31 Diese Modes sind reserviert


*************************************************************************
* Kapitel D:	Suchen und Ersetzen					*
*************************************************************************

D.1 Suchen


Zap hat eine ziemlich mchtige Suchfunktion, deren Mglichkeiten an die Suche unter Emacs angelehnt sind und die OR-Konstrukte sowie das Angeben von Zeichenbereichen zult. Das Suchfenster wird durch Drcken von F4 oder F7 bzw. durch den Meneintrag im Datei-Men geffnet. Benutzt man F4, springt die Schreibmarke an gefundene Stellen, whrend bei F7 alle Stellen in einem eigenen Throwback-Fenster aufgelistet werden. Ein Doppelklick auf eine Zeile des Throwback-Fensters setzt dann die Schreibmarke an die jeweilige Stelle. Throwback ist in Abschnitt C.11 beschrieben.

In der ersten Spalte des Suchfensters werden verschiedene Suchoptionen festgelegt.

Raw-Suche - Wenn diese Option angeschaltet ist, wird beim Suchen die ganze Datei als eine einzige Textzeile interpretiert. Dementsprechend findet \< nur den Dateianfang und \> das Dateiende. Die Ergebnisse der Suche sind stets dieselben, egal, in welchem Mode sich die Datei befand. Ist die Raw-Suche ausgeschaltet, wird die Datei zeilenweise durchsucht, so da \< den Zeilenanfang findet und es nicht mglich ist, nach Mustern zu suchen, die sich ber mehrere Zeilen erstrecken. Im BASIC-Mode werden die Zeilen detokenisiert, so da man z.B. nach PRINT oder einem Teilstring von PRINT suchen kann. Im Code-Mode werden die Zeilen disassembliert; es kann nach Teilstrings von Assemblerbefehlen gesucht werden.

Gro/klein - Wenn die Option an ist, werden die zu suchende und eine gefundene Zeichenkette nur als passend gesehen, wenn die Gro-/Kleinschreibung genau bereinstimmt. Ist die Option aus, mu dies nicht der Fall sein.
[Anm.: Achtung, bei Umlauten mu die Gro-/Kleinschreibung immer genau berinstimmen!]

Makros verwenden - Damit der Benutzer die Syntax der Suchbefehle verndern kann, wurde folgende Vorgehensweise gewhlt: 1. Alle weiter unten genannten Wildcards/Befehle haben als erstes Zeichen ein \. 2. Vom Benutzer knnen unter Verwendung dieser Befehle bis zu 16 Makros (Aliases) definiert werden. 3. Nach der Eingabe werden die benutzerdefinierten Makros durch die eigentlichen Befehle ersetzt, bevor die Suche beginnt. Ansehen und verndern kann man die Makros in dem durch einen Klick auf Makros Editieren geffneten Fenster. Wenn die Option ausgeschaltet ist, werden die Makros vor der Suche nicht ersetzt. Die voreingestellten Makrodefinition sind in der Keys-Datei gespeichert und knnen dort dauerhaft gendert werden.
Beispiel: Eines der vordefinierten Standardmakros ist *, an dessen Stelle nach \.\* gesucht wird. Kommt im Suchstring a*b vor, wird das in a\.\*b umgewandelt. a\*b im Suchstring wrde aber unverndert gelassen, da das * nach einem \ folgt und deswegen als Befehl aufgefat wird.

\-Kommandos - Ist diese Option ausgeschaltet, bewirkt ein \ im Suchstring, da nach dem Zeichen \ gesucht wird, und nicht, da ein Befehl (wie \10) folgt. Es funktioniert also keiner der unten beschriebenen Befehle.

In der zweiten Spalte des Fensters whlt man aus, wo die Suche beginnt und in welcher Richtung die Datei durchlaufen wird. Die verschiedenen Mglichkeiten sind, am Anfang der Datei zu beginnen, von der aktuellen Position der Schreibmarke aus vorwrts oder rckwrts zu suchen oder alle Dateien zu durchsuchen (d.h. vom Anfang der ersten Datei aus).

Die Option auflisten whlt, was mit gefundenen Stellen passiert. Ist sie ausgeschaltet (F4), wird die Schreibmarke auf die erste gefundene Stelle gesetzt, danach kann man (wie im BASIC-Editor) mit sF7 nach der von der aktuellen Position aus nchsten Stelle bzw. mit scF7 nach der vorherigen suchen. Wenn es keine weiteren Funde gibt, wird ein Warnton ausgegeben und die Schreibmarke nicht bewegt. Wenn die Option angeschaltet ist (F7), werden alle gefundenen Zeilen in eine Throwback-Datei geschrieben.

Alle Optionen knnen auch durch einen Tastendruck Ctrl-Buchstabe verndert werden, wie im Fenster angegeben. (Im Fall der Option \-Kommandos ist es Ctrl-\) Darber hinaus haben noch folgende Tastenkombinationen eine Bedeutung: Ctrl-P (wie Paste) kopiert eine bestehende Textauswahl in das Icon, in dem die Schreibmarke steht. Ctrl-K lscht die Liste alter Suchstrings, Page Up/Down und die Pfeiltasten durchlaufen die alten Suchstrings und Ctrl-Tab ersetzt den Eintrag mit dem bei der letzten Suche verwendeten.

Die folgende Tabelle gibt einen berblick ber alle Escape-Sequenzen und Kommandos. x steht dabei (auer wenn anders angegeben) fr ein beliebiges ASCII-Zeichen.

x	Sucht nach Zeichen x (evtl. Beachtung von Gro-/Kleinschreibung).
\x	Sucht nach x genau wie angegeben (gro/klein), auer, x ist einer
	der unten angegeben Befehle.
`x	Sucht nach x, ohne Makros zu ersetzen.
\( \)	Klammerung bei verschachtelten Ausdrcken.
\{ \}	Klammerung wie oben, aber beim Ersetzen kann der geklammerte Ausdruck
	eingesetzt werden. Siehe E.2.
\#	Beliebiges Zeichen, z.B. findet u\#d die Wrter und und uad,
	aber nicht ud.
\.	Beliebiges Zeichen, mit Ausnahme des Return-Zeichens.
\*	Beliebig viele Wiederholungen des vorhergehenden Ausdrucks, z.B.
	findet fo\* die Wrter f, fo, foo etc., \(und\)\* findet
	, und, undund etc.
\%	Mglichst viele Wiederholungen des vorhergehenden Ausdrucks. So
	findet \[0-9]\% die 1 in 1pt und das 395 in ab395rty.
\|	Sucht nach dem Auftreten eines Ausdrucks oder eines anderen, z.B.
	hello\|goodbye oder \(a\|b\)\*, das ababbaba findet.
\[..]	Zeichen in angegebenen Bereich, z.B. \[a-zA-Z%] fr einen Buchstaben
	oder ein %. Ein ^ als erstes Zeichen bedeutet nicht, also
	findet z.B. \[^abc] jedes Zeichen auer a, b oder c.
\<	Zeilenbeginn (bzw. Dateibeginn).
\>	Zeilenende.
\+	Schaltet die Beachtung von Gro-/Kleinschrift NUR fr die folgenden
	Zeichen ein. Beim nchsten Wildcard-/Klammerausdruck hrt die Wirkung
	auf. In verschachtelten und eingeklammerten Ausdrcken hat es keine
	Wirkung - mu noch verbessert werden. Z.B. werden mit \+Fred\|Bill
	bei Fred Gro- und Kleinbuchstaben unterschieden, bei Bill nicht.
\-	wie \+, aber schaltet die Beachtung von Gro-/Kleinschrift aus.
\\	Sucht nach dem Zeichen \.
\ddd	wobei d eine Ziffer ist; sucht nach dem ASCII-Code ddd. Z.B. findet
	\0alf das Byte 0 gefolgt von alf und \233 findet Byte 233.
	Achtung: \999 findet Byte 99 gefolgt von 9, da 999>255.
\&hh	Wie oben, aber der Code wird mit Hex-Zahlen angegeben.
\A-\Z	Sucht nach Ctrl-A bis Ctrl-Z (Code 1 bis 26).
\a	Sucht nach alert (7)
\b	Sucht nach Backspace (8)
\f	Sucht nach Form feed (12)
\hdd...	wobei d eine Hex-Ziffer ist; sucht das angegebene Word (32 Bits).
\n	Sucht nach Newline (10)
\o	Beliebiges Zeichen, mit Ausnahme des . (ntzlich bei Dateinamen).
\r	Sucht nach Return (13)
\t	Sucht nach Tab (9)
\v	Sucht nach vertikalem Tab (11)
\wdd...	wobei d eine Dezimal-Ziffer ist; sucht das angegebene Word (32 Bits).
\xhh	Sucht wie \&hh nach Bytes (x ist der Buchstabe x).

In den folgenden Beispielen wird angenommen, da die voreingestellten Makros verwendet werden knnen. brigens knnen auch in Makros wieder Makros aufgerufen werden! Z.B. knnte man das Makro ( als \( und ) als \) definieren.

Beispiele:

 cat\|mat	Findet cat oder mat.
 re*ment	Findet das Auftreten von re und spter ment in der
		gleichen Zeile.
 SWI		Findet alle SWI-Aufrufe (in Code-Mode).
 LDR\|STR	Findet alle LDR- und STR-Assemblerbefehle.
 R6		Findet alle Befehle, in denen R6 verwendet wird.
 BL*&0000A95C	Findet Aufrufe von Adresse &0000A95C.
 \&0A		Findet das Byte &0A.
 \<fred		Findet fred, aber nur zu Beginn einer Zeile.
 main`(		Findet main(
 \d\%		Findet alle Zahlen (wobei \d Makro fr \[0-9] ist).

Hinweise:

Die Suche ist VIEL schneller, wenn du als erstes Zeichen einen bestimmten Buchstaben angibst. Z.B. ist a\(nd\|pple\) viel schneller als and\|apple. Wenn die Suche lnger als 1/3-Sekunde dauert, wird die Sanduhr zusammen mit dem bereits durchsuchten Prozentsatz angezeigt. Mit Escape kannst du die Suche abbrechen. Falls die Option auflisten benutzt wurde, werden dann die bisher gefunden Stellen angezeigt.

D.2 Ersetzen


Das Fenster zum Suchen und Ersetzen wird durch Shift-F4 oder im Datei-Men geffnet werden. Die ersten zwei Spalten sind identisch mit denen im Such-Fenster, nur gibt es hier anstelle von auflisten eine Option, mit der man zwischen selektivem und globalen Ersetzen auswhlt.

Fr selektives Ersetzen (Global-Option aus), wird jede gefundene Stelle ausgewhlt und ein Ersetzen?-Fenster geffnet. Drcke R, um zu ersetzen und mit der nchsten gefundenen Stelle weiterzumachen. S springt ohne zu ersetzen zu nchsten Stelle. Drcke T oder E, um ab (und einschlielich) dieser Stelle bis zum Dateiende zu ersetzen. Drcke C oder Escape, um die Suche abzubrechen.

Das Format des Suchstrings ist in Abschnitt D.1 beschrieben. Im Ersetzstring kannst du zustzlich folgende Befehle verwenden:

&n	Beim Ersetzen den Inhalt des n-ten \{ \}-Ausdrucks im Suchstring
	einfgen (n<10).
&&	Das Zeichen & einfgen.

Wenn du Teile des Suchstrings im Ersetzstring verwenden willst, mut du die entsprechenden Ausdrcke im Suchstring in  \{ \} einfassen.

Beispiele:

 Suchstring:	Ersetzstring:	Wirkung:

 cat				Entfernt alle Vorkommen von cat
 \{cat\}	&1s		Ersetzt cat mit cats in gleicher Gro-/
				Kleinschreibung
 time=\{\#\}	time is &1	Ersetzt time=58 mit time is 58 etc.

Um die Leerzeichen zwischen Spalten einer Tabelle in Tabs umzuwandeln, benutze den Suchstring \{\d\}  \* und den Ersetzstring &1\9. Eine weitere Mglichkeit ist, \{\d\} \% mit &1\9 zu ersetzen.

D.3 Search as you type


Die inkrementelle Suche wird mit Ctrl-S (Search forward) oder Ctrl-R (Reverse search) gestartet. Es wird dann der Minibuffer geffnet, in den du den Suchstring eingeben kannst. Noch whrend du tippst, durchsucht Zap den Text und setzt die Schreibmarke an das Ende der gefundenen Stelle. Wird nichts gefunden, gibt es einen Warnton und die Meldung (fail). Mit der Delete-Taste knnen Zeichen aus dem Suchstring entfernt werden.

Drcke Escape oder Return, um die Suche an der aktuellen Position zu beenden. Drckst du eine Pfeil- oder F-Taste, wird die Suche beendet und anschlieend die Funktion der Taste ausgefhrt. Auch Ctrl-G (Cancel) beendet die Suche und setzt dann die Schreibmarke wieder an die ursprngliche Position. Diese Funktionalitt sollte Emacs-Benutzern bekannt sein.

Wenn du nach Beginn der Suche Ctrl-S oder Ctrl-R drckst, wird an die nchste/letzte gefundene Stelle gesprungen. Wurde noch kein Suchstring eingegeben, wird der zuletzt verwendete benutzt.

Die Makros sind whrend der Suche abgeschaltet, so da * etc. keine besondere Bedeutung hat. \* und alle anderen \-Befehle arbeiten aber wie gewohnt, so da \\ verwendet werden mu, um nach \ zu suchen.

*************************************************************************
* Kapitel E:	Verschiedenes						*
*************************************************************************

E.1 Lernen von Tastenfolgen


Diese Fhigkeit von Zap ist einfach zu benutzen und sehr ntzlich. Um mit dem Lernen einer Tastenfolge zu beginnen, drcke einfach Ctrl-L. Tippe die Sequenz ein, die gelernt werden soll und drcke anschlieend nochmals Ctrl-L. Mit F1 wird die gelernte Folge ausgefhrt.

Hinweise: Zap gibt nach jedem Tastendruck einen Ton aus, um dich daran zu erinnern, da der Code gespeichert wird. Die Escape-Taste beendet das Lernen NICHT, dies geht nur mit Ctrl-L. Dadurch kann man auch Folgen eingeben, die eine inkrementelle Suche oder Textauswahl ber die Tastatur beinhalten. Bei beiden Operationen wird die Escape-Taste bentigt.

Sobald eine Tastenfolge gelernt wurde, kann sie an eine bestimmte Tastenkombination gebunden werden, so da in Zukunft beim Drcken der Tasten die gelernte Sequenz ausgefhrt wird. Drcke dazu Ctrl-F8 und danach die gewnschte Tastenkombination (oder Escape, um abzubrechen - an Escape kann nichts gebunden werden).

Fr gelernte Tastenfolgen gibt es viele Anwendungsmglichkeiten:
Beispiel 1:

Angenommen, es soll am Anfang von mehreren Zeilen ein Tab eingefgt werden. Dies ginge mit der Option Auswahl.Bearbeiten.Einrcken. Eine andere Mglichkeit wre aber, die Sequenz TAB, DOWN, CLEFT zu lernen und dann einige Male F1 zu drcken.

Beispiel 2:

Angenommen, du willst an die nchste Stelle springen, an der cat auftritt und die Gro-/Kleinschreibung umkehren. Dazu knntest Du folgendes lernen:

 cS C A T ESCAPE LEFT LEFT LEFT scS scS scS

und dann ein paarmal F1 drcken.

Aufgabe (fr den Leser):

Beim Editieren dieser Hilfe-Datei wurde beschlossen, den Inhalt der Spalten Taste: und Kommando: in Abschnitt A.1 zu vertauschen. Dies wurde durch Lernen einer Tastenfolge und Drcken von F1 fr jede Zeile erreicht. Wie lautete die Tastenfolge? (Leider gibts keine Preise zu gewinnen.)

E.2 Tabs und Einrcken


Als Standard-Tabzeichen wird &09 benutzt - das kann im Men Ansicht.Tabs gendert werden. Im gleichen Men kann man auch beeinflussen, wie Tabs angezeigt werden. Das Men Editieren.Tab-Modus verndert dagegen das Verhalten beim Drcken der Tab-Taste. Im Unix-Modus wird der Code &09 eingefgt. Bei Wie Zeile darber bewegt sich die Schreibmarke in die Spalte, in der in der darberliegenden Zeile ein neues Wort beginnt. Mit der Spalten-Tab-Option wird die Schreibmarke um n Zeichen nach rechts gesetzt, wobei n die Spalten-Breite ist. In den letzten beiden Fllen werden so viele Tab-Zeichen wie mglich eingefgt. Wenn du willst, da ausschlielich Leerzeichen eingefgt werden, whle die Option Als Leerzeichen an. Zwischen dem Unix-Modus und Wie Zeile darber kann auch mit Shift-Tab umgeschaltet werden.

Um ausgewhlten Text einzurcken, benutze den Meneintrag Auswahl.Bearbeiten.Einrcken (oder drcke Ctrl-J). Gib z.B. 5 ein, um den Text um fnf Leerzeichen einzurcken, -5 um am Zeilenanfang fnf Zeichen zu entfernen, oder direkt eine Zeichenreihe, um diese zum Einrcken zu verwenden. Das Kommando OUTDENT bzw. der Meneintrag Ausrcken macht die nderung rckgngig; dabei wird die Auswahl um die Lnge des aktuellen Einrcken-Eintrags ausgerckt (und wenn dort eine negative Zahl angegeben wurde, rckt Ausrcken ein :-).

E.3 Fonts und Fontgren


Der von Zap verwendete Zeichensatz wird im Men Ansicht.Font ausgewhlt. Hierbei gibt es vier verschiedene Mglichkeiten, nmlich (1) ein Bitmap-Font, der von Zap auf den Bildschirm gemalt wird, (2) der System-Font, (3) von Zap gemalte Anti-Alias-Fonts, (4) Anti-Alias-Fonts unter Verwendung der OS-Routinen.

(1) ist am schnellsten und die fr den Normalgebrauch empfohlene Einstellung. Eine Reihe von Bitmap-Fonts wird mitgeliefert, einige davon mit den Unterstilen fett und kursiv. Die maximal mgliche Anzahl von Unterstilen ist 4.

(3) befindet sich noch im Experimentalstadium. Mit dieser Option sind keine Unterstile mglich.

(4) ist am langsamsten. Es sind 8 Unterstile mglich.

Die Voreinstellung fr den Namen des Font kann in der Settings-Datei gendert werden, NICHT vom Men aus.

Um den Namen des Anti-Alias-Font und die verwendete Gre festzulegen, ndere die Werte der Variablen &302 und &304 in der Settings-Datei. Eventuell willst Du auch Freiraum um die einzelnen Zeichen mithilfe der Variablen &305/&306/&310/&311 verkleinern. Alle Zeichen haben die gleiche Breite.

E.4 Universelles Argument


Bei Verwendung der Universalargument-Funktion ist es mglich, einen Tastendruck eine beliebige Anzahl von Malen auszufhren. Wenn Du z.B. 100 Leerzeichen einfgen willst, geht das sehr schnell mit

	Ctrl-U 100 Leertaste

Im allgemeinen gibt man nach Ctrl-U die gewnschte Anzahl von Wiederholungen ein, drckt Return und macht dann den auszufhrenden Tastendruck. Wenn dieser Tastendruck (wie im Beispiel oben) nicht Delete, eine Zahl oder eine andere beim Editieren verwendete Taste ist, kann man auf das Drcken von Return auch verzichten.

E.5 Der Minibuffer


Einige Zap-Kommandos werden von Parametern gefolgt. Damit diese Parameter auch direkt eingegeben werden knnen, gibt es den Minibuffer. Wenn du in der Keys-Datei ein Kommando verwendest, ohne dessen Parameter anzugeben, wird beim Drcken der jeweiligen Taste der Minibuffer geffnet. In ihm sollte das Argument des Kommandos eingegeben werden. Beispiele fr Tasten in der voreingestellten Keymap, bei denen dies passiert, sind Ctrl-Escape, Ctrl-S, Ctrl-R, Ctrl-W und F2.

Mehrere Ctrl-Tasten haben im Minibuffer eine besondere Bedeutung. Sie knnen im Augenblick nicht verndert werden, sind aber kompatibel mit denen des Emacs-Minibuffer:

	cA / cLinks	An den Anfang der Zeile springen
	cB / Links	Ein Zeichen nach links gehen
	cD / sDelete	Das nchste Zeichen lschen
	cE / cRechts	Ans Zeilenende springen
	cF / Rechts	Ein Zeichen nach rechts gehen
	cG / Escape	Den Minibuffer schlieen
	cK		Die History des Minibuffer lschen
	cP		Paste der aktuellen Zap-Textauswahl in den Buffer
	cCopy		Bis zum Zeilenende lschen
	cU		Den Minibuffer lschen
	cW		Paste des Minibuffer-Inhalts an die Schreibmarke
	Tab		Ergnzen (z.B. werden nach F2 mit Tab Dateinamen
			vollstndig gemacht)
	Return		Befehl ausfhren / Argument bergeben
	sLinks /sRechts	Die Schreibmarke wortweise weiterbewegen

	Wenn das LineEditor-Modul (V2.67 oder spter) geladen ist:

	Oben / sOben	Frhere Zeile holen
	Unten / sUnten	Nchste Zeile
	cOben		Erste Zeile im Puffer
	cUnten		Letzte Zeile im Puffer

Diese Tasten knnen mit Kommandos umdefiniert werden, sollten aber dem Obigen mglichst hnlich sein.

E.6 Erluterungen zu einigen Meneintrgen


Nicht alle Meneintrge erklren sich von selbst, und manchmal sind eventuell die Hilfe-Daten nicht ausfhrlich genug, um die Wirkung der Eintrge deutlich zu machen.

Dieser Abschnitt befat sich mit Meneintrgen, die seit Zap V1.35 neu hinzugekommen sind.

Men Zap.Editieren:

  Zap.Editieren.Tab-Modus:
  
    Das Men enthlt eine Anzahl von Optionen, die beeinflussen, wie Tab-
    Zeichen eingegeben werden. Die Einstellungen dazu, wie Tabs angezeigt
    werden, befinden sich im Men Zap.Ansicht.Tabs.

    Unix-Tabs		Fgt Tab-Zeichen mit 8 Zeichen breiten Spalten ein
    Wie Zeile darber	In frheren Zap-Versionen Edit-Tabs genannt.
			Bei Druck auf Tab springt die Schreibmarke in die
			Spalte, die am geeignetsten erscheint, wobei als
			Vorbild die vorherige Zeile angeschaut wird. Ist
			diese zu kurz, wird die nchste darberliegende
			Zeile, die lnger ist, genommen. Gibt es keine
			lngere Zeile, wird ein Unix-Tab eingefgt.
    Spalten-Tab	Wie Unix-Tabs, nur da die Breite statt 8 auf einen
			beliebigen Wert eingestellt werden kann.
    Als Leerzeichen	Ist die Option an, werden Tabs als Leerzeichen
			eingefgt, ist sie aus, werden Tab-Zeichen (09)
			eingefgt, wenn das mglich ist. Falls die Position
			nicht durch Unix-Tabs erreicht werden kann, fllt
			Zap mit Leerzeichen auf. Hinweis: Die Option
			Zap.Ansicht.Tabs.Leerzeichen erfllt einen anderen
			Zweck und mu von dieser Einstellung unterschieden
			werden.

  Zap.Editieren.Wrap-Typ:
  
    Die Optionen dieses Mens beeinflussen, wie Zap Zeilen behandelt, die
    lnger sind als eine physikalische Zeile des Fensters.
    
    Window-Wrap	Hat dieselbe Funktionalitt wie die gleichnamige
			Option in !Edit. Zeilen, die zu lang sind, werden
			auf der nchsten Zeile im Fenster fortgesetzt. Bei
			einer nderung der Fenstergre pat sich die
			Anzeige dynamisch an. Es gibt seitlich keine
			Zeichen im Text, die nicht sichtbar sind. Deswegen
			kann man die horizontale Rolleiste auch nicht
			bewegen, sie zeigt aber immer noch die mgliche
			maximale Fensterbreite an und kann mit Spezial zum
			Scrollen verwendet werden.
    Softwrap		Legt fest, ob am Zeilenende nur zwischen ganzen
			Wrtern umgebrochen wird. In der Grundeinstellung
			ist die Option abgeschaltet. Wenn sie an ist,
			werden Abstze beim Tippen dynamisch neu
			formatiert, wobei vermieden wird, Wrter
			auseinanderzureien. Die verschiedenen Modes
			haben Einflu darauf, nach welchen Zeichen
			umgebrochen wird, so knnen dies z.B. HTML-Modes am
			Ende von Tags tun. Zap fgt mit der Softwrap-Option
			niemals von selbst neue physikalische Zeilenenden 			ein.
    Wort-Wrap		Verhlt sich hnlich wie Softwrap, nur werden beim
			Tippen am Zeilenende automatisch Newline-Zeichen
			eingefgt. Der Rest des Absatzes wird entsprechend
			umformatiert, d.h. Leerzeichen werden zu Newlines
			und umgekehrt. Im Email-Mode bleibt das Quoting
			beim Umformatieren erhalten.
    Zeilen-Wrap	Wie Wort-Wrap, nur da eine neue Zeile nur dann 			begonnen wird, wenn am Zeilenende getippt wird -
			der Rest des Absatzes wird NICHT umformatiert.
    Unendliches Wrap	Diese Einstellung ist am besten als Erweiterung von
			Window-Wrap zu erklren. Wenn sie an ist, erlaubt
			Window-Wrap es, das Fenster beliebig breit zu
			machen. In der Praxis ist dies nur selten ntzlich.
    Auto-Softwrap	Ist diese Option angeschaltet, berprft Zap, bevor
			eine Datei zum ersten Mal angezeigt wird, ob diese
			lange Zeilen enthlt. Wenn das der Fall ist, wird
			automatisch Softwrap eingeschaltet.
    Starkes Softwrap	Beeinflut, wie bei eingeschaltetem Softwrap
			physikalische Zeilenenden behandelt werden. Dies
			macht sich hauptschlich bei den Befehlen zum
			Springen an Zeilenanfang/-ende (normalerweise Ctrl
			Links and Ctrl-Rechts), beim Lschen bis zum
			Zeilenanfang/-ende und beim Auto-Einrcken
			bemerkbar.
			Ist die Option an, dann ist die Illusion, da die
			physikalischen Zeilen unabhngige Einheiten sind,
			viel strker. Das Konzept logischer Zeilen bleibt
			verborgen (obwohl logische Zeilennummern immer noch
			angezeigt werden knnen).
			Wenn das starke Softwrap ausgeschaltet ist, ist das
			Editieren dem ohne Softwrap hnlicher, und das Auto
			Einrcken funktioniert besser, da es sich anstelle
			auf die darberliegende physikalische Zeile auf den
			Beginn der logischen Zeile bezieht.

  Zap.Editieren.Schreibmarke:

    Diese Optionen legen fest, wie sich Zaps Schreibmarken verhalten.

    Zeilen-Auswahl	Beeinflut, wie Text ausgewhlt und wie Eingefgtes
			positioniert wird. Ist Zeilen-Auswahl
			eingeschaltet, werden bei einer Textauswahl, die
			mehr als eine Zeile lang ist, immer ganze Zeilen
			ausgewhlt. Wird eine mehrzeilige Auswahl anderswo
			eingefgt, geschieht das am Anfang der Zeile, in
			der die Schreibmarke ist, und nicht an deren
			exakter Position.
			Dies hnelt sehr der Textauswahl im BASIC-Mode.
			Obwohl diese Funktionalitt schwer verstndlich
			sein mag und die Option in der Grundeinstellung
			abgeschaltet ist, ist sie hufig sehr ntzlich. In
			Modes mit i.a. sehr kurzen Zeilen, wie z.B.
			Assembler-Mode, knnen damit schnell einige Zeilen
			gelscht werden - Text kann einfach ausgewhlt
			werden und es ist nicht ntig, die Schreibmarke vor
			einem Paste genau auf den Zeilenanfang zu setzen.
			Damit wird viel Zeit gespart.
    Intelligent	Hat Einflu auf das Verhalten von sLinks und
			sRechts sowie verwandten Funktionen (wie z.B. dem
			Lschen von Wrtern). In der Grundeinstellung ist
			es angeschaltet. Wenn die Option ausgeschaltet ist,
			werden nur Leerzeichen als Wortbegrenzer aufgefat,
			wenn sie an ist, versucht Zap, intelligenter zu 			sein und bercksichtigt auch andere Zeichen.
    Horizontal beschrnkt
			Beeinflut das Verhalten von RIGHT. Wenn die Option
			an ist, kann die Schreibmarke nicht mit der Rechts
			Pfeiltaste ber das Ende einer Zeile hinausbewegt
			werden - stattdessen springt sie an den Anfang der
			nchsten Zeile. Dadurch bleibt sie nahe am
			editierbaren Text und kehrt den Effekt von LEFT in
			allen Fllen um. Viele andere Editoren, in denen
			nicht vorgesehen ist, da die Schreibmarken
			Position nicht nur durch einen Offset in der Datei
			spezifiziert ist, zeigen dieses Verhalten, weswegen
			du es u.U. gewohnt bist. Normalerweise ist die
			Option ausgeschaltet, wodurch es mglich wird, die
			Schreibmarke einfach ber das Zeilenende
			hinauszubewegen (was oft ntzlich ist, wenn sie mit
			den Pfeiltasten durch die Datei bewegt wird).
    Vertikal beschrnkt
			Beeinflut das Verhalten von UP und DOWN (und auch
			von anderen Operationen, die die Schreibmarke
			vertikal bewegen). Sobald die Schreibmarke vertikal
			in eine Zeile bewegt wird, die nicht so lang ist
			wie die aktuelle horizontale Position, wird die
			Schreibmarke nach links auf das Zeilenende gesetzt.
			Intern wird die frhere horizontale Position
			vorgemerkt. Die Einstellung hat den Vorteil, da
			die Schreibmarke nahe am editierbaren Text bleibt,
			und simuliert das Verhalten vieler einfacher
			Editoren.
    Positionsklick	Wenn diese Option angeschaltet ist, ist die
			horizontale Schreibmarkenposition bei Mausklicks
			nicht auf die tatschliche Zeilenlnge beschrnkt.
			Stattdessen kann die Marke im sichtbaren Bereich
			beliebig positioniert werden. Dies knnte z.B. bei
			der Generierung von ASCII-Art ntzlich sein. In der
			Grundeinstellung ist es abgeschaltet.

  Zap.Editieren.Gemischt
  
    Hier stehen die Optionen, die in keine andere Kategorie passen.

    Hex-Eingabe	Wenn angeschaltet, wird die Direkteingabe von ASCII-
			Zeichen unterbunden, stattdessen kann man
			Zeichencodes hexadezimal oder bei Binranzeige binr
			eingeben. Dies ist auch im Abschnitt C.1 (Byte-Mode)
			beschrieben.
    Zeilen-Edit	Ist Zeilen-Edit an, kannst du mit den normalen
			Lschbefehlen keine Newline-Zeichen lschen, und beim
			Druck auf Return wird eine neue Zeile nach der
			aktuellen eingefgt. JOINLINE und SPLITLINE fhren
			aber nach wie vor das Zusammenziehen und Aufteilen
			von Zeilen durch.
    Non standard	Diese Option ist in ZapBASIC so implementiert, da
			sie Leerzeichen am Zeilenende schon direkt bei der
			Eingabe entfernt. In anderen Modes hat sie keine
			oder eine andere, von Mode zu Mode verschiedene 			Wirkung.
    Rechtschreibung	Schaltet Zaps Spell-as-you-type-Modus ein; dafr
			wird ZapSpell bentigt.

  Zap.Einstellungen.Gemischt

    Das Men auf der Icon-Bar beeinflut eine Reihe von Optionen:

    Automatisch laden	Im Untermen kann ausgewhlt werden, welche Module
			beim Laden von Zap mitgeladen werden.
    Auto-lschen von Dateien
			Lt Zap beim Schlieen eines Fensters den Text der
			Datei vergessen - ist es ausgeschaltet, kann sie
			ber das Dateien-Men der Icon-Bar wieder geffnet
			werden.
    Tippen hebt Auswahl auf
			Beim Einfgen oder Lschen von Zeichen wird die
			aktuelle Textauswahl aufgehoben.
    Undo mglich	Beeinflut, ob bei neu erzeugten Dateien Undo-
			Operationen mglich sind.
    Blinkende Schreibmarke
			Lt die Schreibmarke blinken.
    Zeitstempel prfen
			Untersucht beim Speichern, ob der Zeitstempel der
			Datei, die berschrieben wird, neuer ist als der der
			zu speichernden, und fragt in diesem Fall nach, ob
			wirklich berschrieben werden soll.
    Suchstring lschen
			Ist diese Option an, wird beim ffnen der Fenster
			zum Suchen(/Ersetzen) und Gehe nach der alte
			Suchstring gelscht.
    Schreibmarke im Fenster
			Verhindert, da beim Scrollen eines Fensters die
			Schreibmarke den sichtbaren Bereich verlt.
    MSDOS-Dateien erkennen
			Konvertiert LFCR-Zeilenenden beim Laden/Speichern.
    Tolerant sein	Veranlat Zap, auch ungltige und inkorrekte WIMP-
			Messages zu bearbeiten. Diese Option wurde
			hauptschlich wegen eines Bugs in den meisten
			Versionen von Fresco mit aufgenommen, da ansonsten
			kein OLE-Edit von HTML-Dateien mglich ist.
    Keine Warntne	Verhindert, da Zap bei Fehlern Warntne ausgibt.
    Kein Anti-aliasing
			Schaltet das Anti-aliasing bei DSA-Fonts aus.


*************************************************************************
* Kapitel F:	Weitere Informationen					*
*************************************************************************

F.1 Weitere Hilfe-Dateien


Die Datei HelpData enthlt Hilfetexte fr alle Dialogfenster, Textfenster und Kommandos. Du kannst sie mit Acorns !Help-Anwendung oder einfach durch Laden der Datei ansehen. Unter RiscOS 2 und 3.0 gibt es keine Hilfe fr die Meneintrge, nur fr die Fenster (aber du kannst einfach direkt die Datei anschauen).

Alle, die am Schreiben eines eigenen Extension-Mode oder dem Implementieren neuer Kommandos interessiert sind, knnen einen Blick in das Docs-Verzeichnis werfen. Am besten beginnt man mit der !ReadMe-Datei. Dieses Verzeichnis enthlt auch einen Zap-Keystrip in Form einer Draw-Datei.

In der Datei Changes stehen Informationen zu geplanten Erweiterungen von Zap.

F.2 Neue Zap-Versionen


Neue Versionen von Zap werden geschickt an:

1) Hensa:E-Mail: archive-server@micros.hensa.ac.uk (Message help schicken)
	 ftp	: micros.hensa.ac.uk (IP 148.88.8.84)
	 (tagsber nur fr Leute auf JANET)

2) The Archimedes Public Domain Library (David Holden):
   39 Knighton Park Road
   Sydenham
   London
   SE26 5RN

In Changes steht das voraussichtliche Release-Datum.

F.3 Kontakt fr Vorschlge/Bug-Reports


Vorschlge und Bug-Reports sind erwnscht. Adressen stehen in der Copyright-Datei (E-Mail wird bevorzugt). Bitte lies die Changes-Datei, bevor du Vorschlge schickst. Wenn du einen Bug gefunden hast, gib bitte so viele Details wie mglich ber die Umstnde an, unter denen er auftritt - versuche, ihn reproduzierbar zu machen. Hast du Kommentare zu einem Zap-Mode, dann schicke sie direkt an den jeweiligen Autor statt an die Zap-Developers (siehe Modules.!ReadMe).

Wir hoffen, da du Zap ntzlich findest.

Dominic Symes  Tim Tyler  Darren Salt  James Aylett  Martin Ebourne



(Deutsche bersetzung: Richard Atterer)