home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser 2002 January / STC_CD_01_2002.iso / APP / CLIX372.TOS / Clix / Doc / UDO / cxmain.ui < prev   
Encoding:
Text File  |  1998-10-30  |  123.2 KB  |  2,915 lines

  1. #{{{}}}
  2.  
  3. #*****************************************************************
  4. !newpage
  5. !node Copyright
  6. #{{{
  7.  
  8.   (!PRG) ist (!B)nicht(!b) Public Domain!
  9.  
  10.   (!PRG) ist Shareware, das hei₧t, da₧ (!PRG) frei kopiert und weitergegeben
  11.   werden darf. Dabei müssen alle zu (!PRG) gehörenden Dateien vollständig
  12.   kopiert werden.
  13.  
  14.   Der kommerzielle Vertrieb von (!PRG) ist nur mit meiner schriftlichen
  15.   Zustimmung erlaubt, dies schlie₧t die Aufnahme auf
  16.   Public-Domain-Disketten ein.
  17.  
  18.   Wer (!PRG) regelmä₧ig benutzt, mu₧ die Registrierungsgebühr zahlen.
  19.   Dafür bekommt man dann einen Schlüssel, um (!PRG) ohne Einschränkungen
  20.   verwenden zu können.
  21.  
  22.   (!B)Der Registrierungsschlüssel darf nicht weitergegeben werden.(!b)
  23.  
  24.   Die Registrierungsgebühr für (!PRG) beträgt DM 50,-.
  25.  
  26.   Die registrierte Version erhalten Sie bei:
  27.  
  28.       Steffen Engel (!nl)
  29.       Wiesenstr. 11 (!nl)
  30.       38102 Braunschweig (!nl)
  31.  
  32.       Dresdner Bank Braunschweig (!nl)
  33.       BLZ 27080060 (!nl)
  34.       Konto-Nr. 1400277 (!nl)
  35.  
  36.       E-Mail  : Steffen_Engel@t-online.de (!nl)
  37.       MausNet : Steffen Engel @ SZ
  38.  
  39.   Denken Sie daran, da₧ ich Ihren vollen Namen und Ihre Anschrift benötige.
  40. #}}}
  41.  
  42.  
  43. #*****************************************************************
  44. !newpage
  45. !node Einleitung
  46. #{{{
  47.  
  48. Text-Editoren gibt es auf dem Atari reichlich. Wozu dann ein weiterer?
  49.  
  50. Clix gibt es bereits eine ganze Weile, er war nur ziemlich unbekannt.
  51. Primär als zentraler Editor für das Hänisch Modula-2 Entwicklungssystem
  52. entstanden und gepflegt, ist es selbstverständlich ein vollwertiger,
  53. leistungsfähiger ASCII-Editor.
  54.  
  55. Aus der Masse der anderen Editoren hebt er sich durch die folgenden
  56. Fähigkeiten hervor:
  57.  
  58. !begin_itemize
  59. !item Falten von Texten
  60. !item freie Belegung der Tastatur (welcher Editor kann schon alle
  61.       Funktionen über die Tastatur erreichen?)
  62. !item umfangreiche Makrofunktionen
  63. !item Texthervorhebungen zur besseren Erkennung der Textstrukturen
  64. !end_itemize
  65.  
  66.  
  67. (!T)Clix(!t) ist ein vollständig in GEM eingebundener ASCII-Editor. Er ist 
  68. daher unter sämtlichen Auflösungen lauffähig, sofern sie eine Breite von 
  69. mindestens 80 Zeichen bieten. Er wurde vollständig in Modula-2 
  70. implementiert. Clix bietet zahlreiche Funktionen, die weit über die eines 
  71. normalen Editors hinausgehen. Clix dient daher auch als Entwicklungsumgebung 
  72. für das HM-Entwicklungssystem.
  73.  
  74. Sämtliche Parameter, wie die Anzahl und 
  75. Position der geöffneten Fenster, die zuletzt geöffneten Dateien, die Pfade 
  76. der verschiedenen Dateikommandos usw., sichert Clix in einer Datei namens 
  77. (!REF)Clix.par(!ref).
  78. #}}}
  79.  
  80.  
  81. #*****************************************************************
  82. !newpage
  83. !node Konfiguration
  84. #{{{
  85. Clix besitzt umfangreiche Möglichkeiten zur Konfiguration.
  86. Diese mögen anfänglich völlig überwältigend wirken, allerdings braucht sie 
  87. das nicht zu irritieren: die meisten Dinge braucht man nicht sofort und 
  88. lediglich bei intensiverem Gebrauch von Clix wird es interessant, die 
  89. Möglichkeiten genauer kennen zu lernen.
  90.  
  91. Um sich einen groben Überblick zu verschaffen, sollte man die Möglichkeiten 
  92. zumindest überfliegen, später fällt einem dann eventuell der persönliche 
  93. Nutzen auf, und man liest es sich dann noch einmal genauer durch.
  94.  
  95. !index Environmentvariable !! CLIX
  96. !index Environmentvariable !! CLIXPAR
  97. !index Clix.ind
  98. !index Clix.rsc
  99. !index Clix.str
  100. !index Clix.mak
  101. !index Clix.par
  102. !index Clix.pik
  103. Falls eine Environmentvariable (!REF)CLIX(!ref) definiert ist, so wird 
  104. versucht, die Hilfsdateien (!REF)Clix.rsc(!ref), (!REF)Clix.str(!ref), 
  105. (!REF)Clix.ind(!ref), (!REF)Clix.pik(!ref) und (!REF)Clix.par(!ref) über den 
  106. danach angegebenen Pfad zu laden. Clix sucht (!REF)Clix.par(!ref) zuerst im 
  107. aktuellen Ordner, dann über eine weitere Environmentvariable namens 
  108. (!REF)CLIXPAR(!ref), und zuletzt über die Environmentvariable 
  109. (!REF)CLIX(!ref).
  110. Die Möglichkeiten, die (!REF)CLIXPAR(!ref) bieten, sind interessant, wenn man 
  111. Clix für sehr unterschiedliche Anwendungen gebraucht und dafür verschiedene 
  112. (!REF)Clix.par(!ref) verwenden will.
  113.  
  114.  
  115. Die einzelnen Dateien haben folgende Aufgabe:
  116.  
  117. !begin_description
  118. !item [Clix.par] Die zentrale Parameterdatei. Darin sind auch Namen und Pfad 
  119. der zu verwendenden 'geladene Texte'-Datei (!REF) Clix.pik (!ref) und der 
  120. Makro-Datei (!REF) Clix.mak (!ref) enthalten.
  121.  
  122. !item [Clix.pik] ist die Texte-Datei, in der die Liste der zuletzt geladenen
  123. Texte und der verschiedenen Lade-Pfade eingetragen sind. Dies ist die Liste, die
  124. Sie in dem 'Alt-Q' Dialog aufgelistet bekommen.
  125.  
  126. !item [Clix.mak] ist eine Makrodatei. In ihr sind die Tastaturmakros
  127. abgelegt. Name und Pfad der Makro-Datei sind in Clix.par abgespeichert.
  128. Damit lassen sich verschiedene Umgebungen schaffen.
  129.  
  130. !item [Clix.rsc] GEM-Resource-Datei
  131.  
  132. !item [Clix.str] Deutschsprachige Bildschirmmeldungen(!N)wie auch die RSC-Datei auch in Englisch verfügbar(!n)
  133.  
  134. !item [Clix.ext] enthält die Text-Makros sowie die Texthervorhebungen.
  135. Zu einer genaueren Erklärung dieser Datei lesen Sie bitte den Abschnitt
  136. über die Extension-Datei.
  137.  
  138. !item [Clix.ind] enthält eine Liste von Schlüsselworten (hier für
  139. Modula-Quelltexte), mit der automatische Ein- und Ausrückungen
  140. durchgeführt werden können.
  141.  
  142. !item [Clix.reg] Tja, diese Datei gibt es nur, wenn Sie Clix registriert
  143. haben. Hier werden die Registrierungsinformationen abgelegt.
  144. !end_description
  145.  
  146. Besonders sollten Sie dabei die Dateien (!REF) Clix.par (!ref), (!REF) 
  147. Clix.pik (!ref) und (!REF) Clix.mak (!ref) beachten, mit denen Sie Clix auf 
  148. vielfältige Weise auf unterschiedliche Aufgaben anpassen können. 
  149. #**************************************************************************
  150. #**************************************************************************
  151. #**************************************************************************
  152. #**************************************************************************
  153.  
  154.  
  155.  
  156.  
  157. !index Hilfe !! zu Clix
  158. Die vorliegende Version von Clix können Sie dem Infodialog entnehmen, den Sie 
  159. über den Menüpunkt (!EM)Clix/Über Clix...(!em) erreichen. Au₧erdem kann man 
  160. im Dialog über den Button (!EM)Help(!em) oder über die Taste (!KEY)Shift 
  161. Help(!key) Informationen zu Clix im Online-Manual erhalten. 
  162. #}}}
  163.  
  164. !subnode Extension-Datei
  165. #{{{
  166.  
  167. Clix hat die hervorragende Eigenschaft, in Abhängigkeit von der Endung
  168. einer Datei (z.B. .tex, .m, .c etc.) verschiedene Steuerungen
  169. durchzuführen.
  170.  
  171. Zur Zeit unterstützt Clix die folgenden Eigenschaften:
  172. !begin_description
  173. !item [Texthervorhebung] Schlüsselworte können farblich 
  174. und/oder durch Texteffekte ((!U)unterstrichen(!u), (!B)fett(!b), 
  175. (!I)kursiv(!i) oder light) hervorgehoben werden.
  176.  
  177. Dabei lassen sich beliebig viele verschiedene Markierungen angeben.
  178. Beispiel (für Modula-Quelltexte):
  179.  
  180. !begin_verbatim
  181.   # Darstellung in blau bzw. light
  182.   KEYS {DarkBlue, Light} =
  183.      CONST, TYPE, VAR, RECORD, ARRAY, PROCEDURE, BEGIN, END,
  184.      IF, THEN, ELSE, ELSIF, WHILE, WITH, CASE, REPEAT, UNTIL,
  185.      LOOP, FOR;
  186.  
  187.   # Ablaufrelevante Bewfehle in rot/fett
  188.   KEYS {DarkRed, Bold} =
  189.      RETURN, EXIT,
  190.      BREAK, CONTINUE,
  191.      "bkpt",
  192.      illegal;
  193.  
  194.   # dunkelgrün/fett
  195.   KEYS {DarkGreen, Bold} =
  196.      BOOLEAN, SHORTINT, LONGINT, INTEGER, SHORTCARD, LONGCARD,
  197.      CARDINAL, ADDRESS, BYTE, REAL, LONGREAL, SHORTREAL,
  198.      POINTER, BITSET, LONGSET, CHARSET;
  199.  
  200.   # System-Libraries in Magenta/Bold
  201.   KEYS {DarkMagenta, Bold} =
  202.       SYSTEM, System;
  203. !end_verbatim
  204.  
  205. !item [Kommentare] Sie sind eine weitere Variante der Texthervorhebung.
  206. Diesmal gilt sie jedoch nicht nur für ein einzelnes Wort, sondern für
  207. einen ganzen Bereich (Kommentare können sich ja z.B. über mehrere Zeilen
  208. erstrecken).
  209.  
  210. Beispiel (wieder Modula):
  211.  
  212. !begin_verbatim
  213.   # Kommentare in dunklem Cyan darstellen
  214.   COMMENT {DarkCyan, Light} = "(*", "*)";
  215. !end_verbatim
  216.  
  217. !item [Text-Makros] Hiermit lassen sich Text-Makros definieren. Der
  218. Aufruf dieser Makros geschieht durch Eingabe des Textmakro-Namens,
  219. gefolgt von der Tastenfolge ALT-Space (ja, die Leertaste bei gedrückt
  220. gehaltener Alternate-Taste):
  221.  
  222. !begin_verbatim
  223.   # Gerüst eines C-Programmes:
  224.   SHORTCUT "mod" = {\
  225.   rcs\e
  226.   
  227.   include\e
  228.   
  229.   init\e
  230.   };
  231. !end_verbatim
  232.  
  233. Dieses Beispiel gibt den Text (!V)rcs(!v) ein und expandiert ihn als Makro 
  234. (es handelt sich um einen Textkopf mit Informationen zum RCS-Revision Control 
  235. System), dann den Text (!V)include(!v) und expandiert auch diesen (ein Kopf 
  236. mit include-Bereich eines C-Programmes). Dann folgt noch der Rumpf eines 
  237. Library-Modules, ebenfalls als expandiertes Makro.
  238.  
  239. Wie man sehen kann, ist es einfach möglich, Makros zu erstellen, die wiederum 
  240. aus Bausteinen bestehen, um einfach pflegbare Makros zu erhalten.
  241.  
  242. Probieren Sie es doch am besten gleich aus: legen Sie eine Datei mit der 
  243. Endung (!T).C(!t) an, geben Sie den Text (!V)mod(!v) ein und drücken Sie 
  244. (!KEY)ALT-Space(!key).
  245.  
  246. !end_description
  247.  
  248. Die Extension-Datei enthält die nötigen Steuerungen zur Hervorhebung von
  249. Texten und für Text-Makros.
  250.  
  251. Es stehen die folgenden Kommandos zur Verfügung:
  252.  
  253. !begin_description
  254.  !item [INCLUDE] dient zur Angabe weiterer zu ladender Extensiondateien. Es
  255.   sollten vollständige Pfade angegeben werden.
  256.  !item [EXTENSION] Ein Parameterblock für eine Liste von Dateiendungen.
  257.   Innerhalb eines EXTENSION-Blockes werden die Steuerkommandos für
  258.   Hervorhebungen und Makros angegeben, die für alle Dateien angewendet werden
  259.   sollen, die eine der Parameterliste entsprechende Endung haben.
  260.  !item [SHORTCUT] Hiermit lassen sich die Textmakros für den aktuellen
  261.    EXTENSION-Block definieren.
  262.  !item [COMMENT] Angabe der Kommentarklammerung (Kommentar-Anfang und
  263.   Kommentar-Ende). Gibt es kein eigenes Kommentarzeichen-Ende, dann wird
  264.   einfach ein leerer String angegeben. Beispiele finden sich in den beigefügten
  265.   EXT-Dateien.
  266. !end_description
  267.  
  268. !ifdest [stg]
  269.   @alabel "Grammatik der Extension-Datei"
  270. !endif
  271. Die Grammatik der Extension-Datei:
  272. !begin_verbatim
  273. ExtensionFile = { ExtensionRec | IncludeRec } .
  274. ExtensionRec  = "EXTENSION" ExtensionList "=" "{" Definitions "}" .
  275. IncludeRec    = "INCLUDE" String ";"
  276. ExtensionList = StringList .
  277. Definitions   = { Definition ";" } .
  278. Definition    = Region | Keys | Shortcut .
  279. Region        = ( "COMMENT" | "REGION" ) "{" AttribList "}" "="
  280.                 String "," String .
  281. Keys          = "KEYS" "{" AttribList "}" "=" KeyList .
  282. AttribList    = [ Attribut { "," Attribut } ] .
  283. Attribut      = "White" | "Black" | "Red" | "Green" | "Blue" | "Cyan"
  284.                 | "Yellow" | "Magenta" | "Grey" | "DarkGrey"
  285.                 | "DarkRed" | "DarkGreen" | "DarkBlue" | "DarkCyan"
  286.                 | "DarkYellow" | "DarkMagenta" | "Light" | "Bold"
  287.                 | "Underlined" | "IgnoreCase" .
  288. KeyList       = ListIdent { "," ListIdent } .
  289. ListIdent     = Ident | String .
  290. Ident         = Alpha { AlphaNum } .
  291. Alpha         = "A" | "B" | ... | "Z" | "a" | "b" | ... | "z" | "_" .
  292. AlphaNum      = Alpha | "0" | "1" | ... | "9" .
  293. Shortcut      = "SHORTCUT" String "=" ( StringList | Verbatim ) .
  294. StringList    = String { "," String } .
  295. String        = ('"' { character } '"' ) | ("'" { character } "'" ) .
  296. Verbatim      = "{" VerbatimText "}" .
  297. !end_verbatim
  298.  
  299.  
  300. In der EXT-Datei werden Kommentare durch zwei Striche ("--") oder Hash
  301. ("#") eingeleitet und gehen bis zum Zeilenende.
  302.  
  303.  
  304. COMMENT- und REGION-Definitionen legen Clix-Klammernpaare fest. COMMENT
  305. ist im wesentlichen identisch zu REGION. COMMENT sollte nur einmal
  306. vorkommen, REGION kann mehrfach vorkommen. Der Unterschied liegt darin,
  307. da₧ COMMENT das Klammernpaar festlegt, das Clix als Kommentar wertet.
  308. Solange Clix nur einen Bereich mit Hervorhebung unterstützt, legt
  309. COMMENT au₧erdem diesen Bereich fest.
  310.  
  311. N.B. REGION wird z.Zt. nicht ausgewertet.
  312.  
  313. Strings sind die üblichen Modulastrings, also innerhalb alles au₧er den
  314. umschlie₧enden Quotes. Zusätzlich im String folgende Escapes mit
  315. Backslash als Escapezichen (C-Syntax):
  316. !begin_verbatim
  317.    \\ Backslash
  318.    \n Zeilenendezeichen
  319.    \c ASCII 127 (Cursorposition in Makros)
  320.    \<dreistellige Oktalzahl im Bereich 0-377>: ASCII-Zeichen
  321.    \' Single Quote
  322.    \" Double Quote
  323. !end_verbatim
  324.  
  325. Innerhalb eines VerbatimText können beliebige Zeichen vorkommen. Beendet
  326. wird der VerbatimText durch eine schlie₧ende geschweifte Klammer.
  327. Backslash ist Escapezeichen. Zeilenenden werden in das Kürzel
  328. übernommen, au₧er am Zeilenende steht ein Backslash.
  329.  
  330. Zulässige Escapes:
  331. !begin_verbatim
  332.    \<EOL> (also Backslash am Zeilenende): Zeilenende nicht übernehmen
  333.    \\  Backslash
  334.    \}  Schlie₧ende geschweifte Klammer
  335.    \c  Cursor setzen (alternativ zu ASCII 127; Vorteil: druckbar)
  336.    \e  Kürzelexpansion aufrufen (rekursive Makros)
  337.    \n  Zeilenende
  338.    \<dreistellige Oktalzahl im Bereich 0-377>: ASCII-Zeichen
  339. !end_verbatim
  340. #}}}
  341.  
  342. !subnode Environment
  343. #{{{
  344.  
  345. Einige Verhaltensweisen von Clix können über Environmentvariablen
  346. gesteuert werden.
  347.  
  348. !begin_description
  349.   !item [HELP] Falls ein anderes Hilfesystem als ST-GUIDE verwendet
  350.     wird, kann mit dieser Environmentvariable der Name des Hilfesystems
  351.     festgelegt werden.
  352.   !item [CLIXPAR] Clix sucht die Datei (!B)Clix.par(!b) zuerst im
  353.     aktuellen Ordner, dann über eine weitere Environmentvariable namens
  354.     (!B)CLIXPAR(!b).
  355.   !item [CLIX] Falls eine Environmentvariable (!B)CLIX(!b) definiert
  356.   ist, so wird versucht, die Hilfsdateien (!B)Clix.rsc(!b),
  357.   (!B)Clix.str(!b), (!B)Clix.pik(!b), (!B)Clix.par(!b) und
  358.   (!B)Clix.ext(!b) über den danach angegebenen Pfad zu laden.
  359.  
  360.   Clix sucht (!B)Clix.par(!b) zuerst im aktuellen Ordner, dann über
  361.   eine weitere Environmentvariable namens (!B)CLIXPAR(!b).
  362.   !item [GEMPLUS] Mit dieser Variablen kann das Aussehen und die
  363.   Funktionsweise von GEMplus-Programmen beeinflu₧t werden (Clix ist in
  364.   gro₧en Teilen mit GEMplus geschrieben). Zur bequemen Einrichtung
  365.   dieser Environmentvariablen gibt es entsprechende Hilfsprogramme
  366.   (siehe unter GEMplus).
  367. !end_description
  368. #}}}
  369.  
  370.  
  371. #*****************************************************************
  372. !newpage
  373. !node Desktop
  374. #{{{
  375. !begin_center
  376. (!IMAGE [Images/clixdesk])
  377. !end_center
  378.  
  379. !index Clix !! Desktop
  380. Auf dem Desktop von Clix werden die geladenen Texte als Icons abgelegt. Man 
  381. kann maximal 32 Texte zugleich laden, jedoch nur soviele Texte gleichzeitig 
  382. öffnen wie GEM Fenster zur Verfügung stellt. Die Text-Icons enthalten eine 
  383. laufende Nummer und in der oberen Zeile den Namen der Datei, die sie 
  384. repräsentieren. Sie lassen sich mit der Maus frei auf dem Bildschirm 
  385. positionieren. Um die Icons immer im Blickfeld zu haben, wird standardmä₧ig 
  386. ein oberer Rand freigehalten. Dies ist im Dialog (!EM) Allgemeine Optionen 
  387. (!em) abschaltbar.
  388.  
  389. !index Fenster !! öffnen und schlie₧en
  390. Mittels Doppelklick auf ein Icon wird der zugehörige Text geöffnet bzw. in 
  391. den Vordergrund gebracht. Ein invertiertes Icon zeigt an, da₧ der Text gerade 
  392. geöffnet ist, ein deselektiertes Icon bedeutet, da₧ der Text im Augenblick 
  393. nicht in einem Fenster sichtbar ist. Mit (!KEY)Alternate(!key)-Doppelklick, 
  394. einem Klick auf den Close-Button des Fensters, (!KEY)Control U(!key) oder 
  395. (!KEY)Alternate UNDO(!key) wird dieses wieder geschlossen, ohne da₧ der Text 
  396. verloren geht.
  397.  
  398. Wurde ein Text inhaltlich geändert, so wird dies durch einen Stern vor dem 
  399. Dateinamen im Fenstertitel angezeigt.
  400.  
  401. !index Text !! aufgeben
  402. Um einen Text aus dem Speicher zu entfernen, führt man einen Doppelklick auf 
  403. das zugehörige Icon aus, während (!KEY)Shift(!key) gedrückt ist. Dasselbe 
  404. lä₧t sich auch über einen Doppelklick bei gleichzeitig gedrückter rechter 
  405. Maustaste, einen Doppelklick der rechten Maustaste, die Tastenkombination 
  406. (!KEY)Alternate~A(!key) oder den Menüpunkt (!EM)Datei/Aufgeben(!em) 
  407. erreichen. Eine Sicherheitsabfrage erfolgt dabei nur, falls der Text geändert 
  408. worden ist.
  409.  
  410. Die Positionen der Icons werden gesichert, wenn die Option (!EM)Desktop beim 
  411. Verlassen abspeichern(!em) im Dialog (!EM)Optionen/Allg. Optionen...(!em) 
  412. aktiviert wurde.
  413.  
  414. Am rechten Rand der Menüleiste wird ständig die aktuelle Cursorposition im 
  415. obersten Fenster (Zeile/Spalte) angezeigt. Au₧erdem wird der Status des 
  416. Editor dargestellt.
  417.  
  418. !begin_center
  419. !begin_table [|c|l|]
  420. !hline
  421. Anzeige !! Bedeutung
  422. !hline
  423. M !! Makro-Aufzeichnungs-Modus
  424. !hline
  425. S !! Spaltenblock
  426. !hline
  427. B !! Blockmarkierung innerhalb des aktuellen Fensters
  428. !hline
  429. b !! Blockmarkierung in einem Hintergrundfenster
  430. !hline
  431. C !! Klemmbrett verwenden
  432. !hline
  433. I !! Einfügemodus
  434. !hline
  435. O !! Überschreibmodus
  436. !hline
  437. A !! alternatives Manual aktiv
  438. !hline
  439. !end_table
  440. !end_center
  441.  
  442. #}}}
  443.  
  444. #*****************************************************************
  445. !newpage
  446. !node Dateioperationen
  447. #{{{
  448. !subnode Datei öffnen
  449.  
  450. !index Text !! anlegen
  451. (!KEY)Alternate N(!key) oder der Menüeintrag (!EM)Datei/Neu anlegen(!em) 
  452. öffnet eine Datei mit dem Namen (!EM)NAMENLOS(!em). Soll diese über 
  453. (!KEY)Control S(!key) oder den Menüpunkt (!EM)Datei/Sichern(!em) gesichert 
  454. werden, erscheint eine Dateiauswahl, über den ein Dateiname für die neue 
  455. Datei eingegeben wird. In diesem Fall entspricht das Kommando (!EM)Text 
  456. sichern(!em) dem Kommando (!EM)Text sichern als(!em). 
  457.  
  458. ##!subnode Datei öffnen
  459.  
  460. !index Text !! öffnen
  461. (!KEY)Alternate O(!key) oder der Menüeintrag (!EM)Datei/Öffnen...(!em) öffnet eine
  462. Datei. Dazu wird eine Dateiauswahlbox angezeigt, bei der die (!EM)erste(!em) im 
  463. Dialog (!EM)Datei/Auswählen...(!em) definierte Extension und der 
  464. entsprechende Pfad vorgewählt ist.
  465.  
  466. Ist die Datei auf dem Datenträger nicht auffindbar, so wird über eine 
  467. Alert-Box nachgefragt, ob sie neu angelegt werden soll. Versucht man, einen 
  468. Text zu öffnen, der bereits geladen wurde, so erscheint ein Auswahl-Dialog.
  469.  
  470. !begin_center
  471. (!IMAGE [Images/clixover])
  472. !end_center
  473.  
  474. Im Normalfall sollte man den Text höchstens im Modus (!EM)nicht editierbar(!em) 
  475. laden, um Inkonsistenzen zu vermeiden. Es ist jedoch dennoch möglich, den 
  476. Text über den Button (!EM)Laden(!em) mehrfach zu laden. Alternativ kann auch der 
  477. aktuelle Text neu aus der Datei gelesen werden.
  478.  
  479. Über (!KEY)Control Alternate O(!key) lä₧t sich eine Datei öffnen, deren
  480. Zugriffspfad durch die letzte Extension (*.*) im
  481. (!EM)Datei/Auswählen...(!em)-Dialog repräsentiert wird.
  482.  
  483. !subnode Datei auswählen
  484.  
  485. !index Text !! auswählen
  486. (!KEY)Alternate Q(!key) oder der Menüpunkt (!EM)Datei/Auswählen...(!em) öffnet eine
  487. Dialogbox, aus der man über einer Scroll-Liste einen der maximal sechzehn 
  488. zuletzt geöffneten Texte auswählen kann. Au₧erdem werden verschiedene 
  489. Extension-Gruppen gesichert. In der Titelzeile wird der Name der aktuellen 
  490. Dateiliste angezeigt. Hat sich der Inhalt des Dialoges geändert, so wird dies 
  491. durch einen Stern in der Titelleiste angezeigt.
  492.  
  493. !begin_center
  494. (!IMAGE [Images/clixpick])
  495. !end_center
  496.  
  497. !index Pick-Datei
  498. Ein Klick auf den Pfad einer Datei selektiert diese. Mittels gedrückter 
  499. Shift-Taste können mehrere Einträge selektiert bzw. deselektiert werden. 
  500. Die Liste kann sowohl mittels Maus also auch über die Cursor-Tasten 
  501. gescrollt werden. (!KEY)Home(!key) bzw. (!KEY)Shift Home(!key) positioniert an den
  502. Anfang bzw. das Ende der Liste. Die ausgewählten Dateien werden, falls der 
  503. Dialog über (!EM)OK(!em) verlassen wurde, von Clix geladen. Ein Text lä₧t sich 
  504. auch über (!KEY)Control 0..9(!key) (Ziffernblock) selektieren bzw. deselektieren.
  505. Ein einzelner Text kann mittels Doppelklick, gedrückter (!KEY)Shift(!key)-Taste
  506. und Einfachklick oder die Tasten (!KEY)Shift Control 0..9(!key) (Ziffernblock)
  507. direkt ausgewählt werden. (!EM)Tilgen(!em) entfernt die Pfade der selektieren 
  508. Dateien aus der Liste.
  509.  
  510. !index Textoptionen
  511. !index Optionen !! Text-
  512. Unterhalb der Dateiliste befinden sich sechs Buttons (Alt A--F), von denen 
  513. die ersten fünf (Alt A--E) eine Liste von Suchmustern enthalten. Diese werden 
  514. aus der Dateiauswahlbox übernommen. Der sechste (Alt F) enthält immer 
  515. (!REF)*.*(!ref). Für jeden Button wird ein eigener Pfad gespeichert. Ein Klick auf
  516. einen solchen Button öffnet eine Dateiauswahlbox mit dem entsprechenden Pfad 
  517. und dem definierten Suchmuster, über den man eine Datei öffnen kann.
  518. !label DefaultTextOpt
  519. Ein Mausklick bei gedrückter Shift-Taste oder ein Doppelklick auf einen 
  520. Button öffnet einen Dialog zur Einstellung der Default-Textoptionen der 
  521. entsprechenden Pfade (siehe auch Abschnitt (!link [Textoptionen] [AltTab])). Hier wird also auch
  522. eingestellt, welche Optionen bei einem Text voreingestellt sind, der mittels 
  523. (!EM)Datei/Neu anlegen(!em) bzw. (!EM)Datei/Öffnen!..(!em) geöffnet wird.
  524.  
  525.  
  526. Über dem Eintrag (!EM)Makedatei(!em) kann eine Make-Datei bestimmt werden, 
  527. die auf Wunsch beim Start des Editors sowie beim Wechsel der PIK-Datei vom 
  528. Compiler-Accessory geladen wird, falls dies noch nicht geschehen ist. Wurde 
  529. die aktuelle Make-Datei geändert, so kann über eine Dialogbox die Sicherung 
  530. veranla₧t werden. Auf diese Weise kann über die PIK-Datei das komplette 
  531. Projekt gewechselt werden. Wird Clix mit Dateinamen als Parameter aufgerufen, 
  532. wird nicht versucht, den Compiler ein Make einlesen zu lassen. Wird ein 
  533. leerer Dateinamen angegeben, so wird die ausgewählte Make-Datei entfernt.
  534.  
  535. (!EM)Sichern(!em) speichert den kompletten Inhalt des Auswahldialoges, d.h. die 
  536. Dateiliste und die eingestellten Extensions mit ihren zugehörigen Pfaden und 
  537. Textoptionen, in einer sogenannten Pick-Datei. Pick-Dateien sollten immer 
  538. auf (!REF)*.PIK(!ref) enden. Der Pfad der ausgewählten Pick-Datei wird in der
  539. Parameterdatei (!REF)CLIX.PAR(!ref) gesichert. Über (!EM)Laden(!em) kann man eine andere
  540. Pick-Datei laden. Somit ist ein leichter Wechsel zwischen verschiedenen 
  541. Projekten möglich.
  542.  
  543. Die Option (!EM)Bei Programmende sichern(!em) bestimmt, ob die Pick-Datei vor dem 
  544. Verlassen des Editors automatisch gesichert werden soll.
  545.  
  546. Au₧erdem kann die Anzahl der zu sichernden Pfade über eine Pfeilbox 
  547. festgelegt werden.
  548.  
  549. Bei Laden von Texten über die Kommandozeile werden diese zunächst in der 
  550. Pick-Datei-Liste gesucht. Ist der zu ladende Text bereits bekannt, werden 
  551. die zuletzt gesicherten Optionen beim erneuten Laden des Textes 
  552. berücksichtigt. Dies trifft jedoch nicht auf die Cursorposition zu.
  553.  
  554.  
  555. !subnode Text überladen
  556.  
  557. !index Text !! überladen
  558. (!KEY)Alternate L(!key) oder der Menüeintrag (!EM)Datei/Letzte Version(!em) ersetzt den
  559. im Vordergrund befindlichen Text durch die Originalversion aus der Datei. 
  560. Wurde am Text eine Änderung vorgenommen, so erscheint vorher eine 
  561. Sicherheitsabfrage; wurde der Text neu angelegt und noch nicht gesichert, so 
  562. wird der Text komplett gelöscht.
  563.  
  564. !subnode Text speichern
  565.  
  566. !index Text !! speichern
  567. (!KEY)Control S(!key) bzw. der Menüeintrag (!EM)Datei/Sichern(!em) sichert den im
  568. Vordergrund befindlichen Text unter dem Pfad, der sich in der Kopfzeile des 
  569. Fensters befindet.
  570.  
  571. (!KEY)Alternate U(!key) bzw. der Menüeintrag (!EM)Datei/Sichern als...(!em)
  572. sichert den im Vordergrund befindlichen Text unter einem neuen Namen. Dazu 
  573. wird eine Dateiauswahlbox geöffnet. Existiert die angegebene Datei bereits, 
  574. so erfolgt vor dem Überschreiben eine Sicherheitsabfrage.
  575.  
  576. (!KEY)Shift Alternate U(!key) sichert den im Vordergrund befindlichen Text unter
  577. einem neuen Namen, ohne das Dateidatum zu verändern. Dazu wird eine 
  578. Dateiauswahlbox geöffnet.
  579.  
  580. !subnode Text aufgeben
  581.  
  582. !index Text !! aufgeben
  583. (!KEY)Alternate A(!key) oder der Menüeintrag (!EM)Datei/Aufgeben(!em) verwirft den Text
  584. im Vordergrund. Falls der Text seit dem Laden oder seit dem letzten
  585. Speichern verändert wurde, wird vorher eine Warnung ausgegeben.
  586.  
  587. !subnode Fehlerdatei laden
  588.  
  589. (!KEY)Shift Alternate O(!key) und der Menüpunkt (!EM)Datei/Zuladen...(!em)
  590. ermöglichen das Laden vom vom HM2-Compiler oder einem Utility erzeugten 
  591. Fehlerdateien. Es wird versucht eine Datei zu laden, deren Namen aus dem 
  592. Textnamen und der Extension (!REF)ERR(!ref) gebildet wurde. Ist eine solche nicht
  593. auffindbar, so wird eine Dateiauswahlbox geöffnet. Eine solche Datei kann 
  594. für jede Textdatei vorhanden sein. Sie wird nicht als Icon angezeigt und 
  595. erscheint daher auch nicht im Auswahldialog. Sie ermöglicht es, den Cursor 
  596. automatisch auf die einzelnen Fehlerstellen zu positionieren.
  597.  
  598. !subnode Fehlerdatei entfernen
  599.  
  600. (!KEY)Shift Alternate A(!key) und der Menüpunkt (!EM)Datei/Entfernen(!em) entfernt
  601. eine geladene Fehlerdatei.
  602.  
  603. #!subnode Block laden
  604.  
  605. #!index Block !! laden
  606. #(!KEY)Shift Alternate V(!key) oder der Menüeintrag (!EM)Datei/Einlesen(!em) liest eine
  607. #über eine Dateiauswahlbox spezifizierte ASCII-Datei an der 
  608. #Cursorposition ein und markieren diese als Block. Als Pfad wird der erste 
  609. #Pfadeintrag im Pick-Dialog benutzt; allerdings mit der Extension *.*.
  610.  
  611. #!subnode Block speichern
  612.  
  613. #!index Block !! speichern
  614. #(!KEY)Shift Alternate C(!key) oder der Menüpunkt (!EM)Datei/Schreiben(!em) speichert
  615. #einen markierten Block als ASCII-Datei ab. Der Name wird über eine 
  616. #Dateiauswahlbox spezifiziert. Die Tastenkombinationen (!KEY)Shift Alternate V(!key)
  617. #und (!KEY)Shift Alternate C(!key) bedeuten (!EM)paste from file(!em) bzw. (!EM)copy to
  618. #file(!em), und sind daher als Erweiterung der üblichen Cut/Copy/Paste-Kommandos 
  619. #anzusehen.
  620.  
  621.  
  622. #}}}
  623.  
  624. #*****************************************************************
  625. !newpage
  626. !node Fenstermanipulation
  627. #{{{
  628. !index Fenster !! tauschen
  629. !index Vertauschen !! Fenster
  630. (!KEY)Control W(!key) bringt das nächste Fenster in den Vordergrund. Dabei wird
  631. die fortlaufende Nummer der Fenster zugrunde gelegt.
  632.  
  633. !index Fenster !! anordnen
  634. (!KEY)Control~,(!key) bzw. der Menüeintrag (!EM)Optionen/Überlappend(!em) ordnet die
  635. geöffneten Fenster überlappend an.
  636.  
  637. (!KEY)Control~.(!key) bzw. der Menüeintrag (!EM)Optionen/Nebeneinander(!em) ordnet die
  638. geöffneten Fenster so an, da₧ sie nebeneinander liegen und etwa jeweils die
  639. gleiche Breite besitzen.
  640.  
  641. (!KEY)Control -(!key) bzw. der Menüeintrag (!EM)Optionen/Untereinander(!em) ordnet
  642. die geöffneten Fenster so an, da₧ sie untereinander liegen und etwa jeweils
  643. die gleiche Höhe besitzen.
  644.  
  645. (!KEY)Shift Control -(!key) ordnet die offenen Fenster zweispaltig untereinander
  646. an und ermöglicht vor allem auf einem Gro₧bildschirm eine gute Übersicht über 
  647. alle geöffneten Texte.
  648.  
  649. !index Fenster !! öffnen und schlie₧en
  650. (!KEY)Control (, ), /, *(!key) (Ziffernblock) öffnet die Fenster mit der
  651. Nummer 0--3. Dies lä₧t sich auch über einen Doppelklick auf das entsprechende
  652. Icon auf dem Desktop bewerkstelligen.
  653.  
  654. (!KEY)Shift Control (, ), /, *(!key) (Ziffernblock) öffnet die Fenster mit
  655. der Nummer 4--7. Dies lä₧t sich auch über einen Doppelklick auf das
  656. entsprechende Icon auf dem Desktop bewerkstelligen.
  657.  
  658. (!KEY)Alternate Undo(!key) bzw. (!KEY)Control U(!key) schlie₧t das im Vordergrund
  659. befindliche Fenster. Dies lä₧t sich auch durch einen Mausklick auf den
  660. Fenster-Closer erreichen.
  661.  
  662. (!KEY)Alternate (, ), /, *(!key) (Ziffernblock) schlie₧t die Fenster mit
  663. der Nummer 0--3. Dies lä₧t sich auch durch einen Mausklick auf den
  664. Fenster-Closer oder einen (!KEY)Alternate(!key)-Doppelklick auf das entsprechende
  665. Icon erreichen.
  666.  
  667. (!KEY)Alternate Shift (, ), /, *(!key) (Ziffernblock) schlie₧t die Fenster
  668. mit der Nummer 4--7. Dies lä₧t sich auch durch einen Mausklick auf den
  669. Fenster-Closer oder (!KEY)Alternate(!key)-Doppelklick auf das entsprechende
  670. Icon erreichen.
  671.  
  672. !index Fenster !! Grö₧e ändern
  673. (!KEY)Alternate~,(!key) bringt das im Vordergrund befindliche Fenster auf die
  674. maximale Grö₧e.
  675.  
  676. (!KEY)Shift Alternate~,(!key) bringt sämtliche offenen Fenster auf die maximale
  677. Grö₧e.
  678.  
  679. (!KEY)Alternate~.(!key) bringt das im Vordergrund befindliche Fenster auf die
  680. maximale Höhe, ohne die Breite zu ändern.
  681.  
  682. (!KEY)Alternate -(!key) bringt das im Vordergrund befindliche Fenster auf die
  683. maximale Breite, ohne die Höhe zu ändern.
  684.  
  685. #}}}
  686.  
  687. #*****************************************************************
  688. !newpage
  689. !node Änderung des Fensterausschnitts
  690. #{{{
  691. In einem Fenster kann meist nur ein Teil des gesamten Textes dargestellt
  692. werden. Daher ist es nötig, den Textausschnitt im Fenster verändern zu können.
  693. Dies kann sowohl über die Fensterbedienungselemente als auch über die
  694. Tastatur erfolgen. Die Manipulation des Dateiauschnitts über die
  695. Fensterelemente funktioniert wie unter GEM üblich, die Tastatursteuerung
  696. entspricht den ATARI-Richtlinien.
  697.  
  698. (!KEY)Echtzeit-Scrolling~(!key)
  699. !index Echtzeit-Scrolling
  700. Drückt man zusätzlich die
  701. rechte Maustaste, wenn man den vertikalen Scrollbar anpackt, so wird der
  702. Ausschnitt sofort mit der Mausbewegung mitverändert, und nicht erst, wenn
  703. man die Maustaste wieder loslä₧t (ähnlich dem Slider in der Dateiauswahl).
  704.  
  705. !index Panning
  706. (!KEY)Panning(!key)(!N)von engl. 'to pan' --- etwas (mit einer Kamera)
  707. verfolgen; der Ausdruck wie das Verfahren stammen von der 
  708. X-Window-Umgebung.(!n) Klickt man in den Text, wobei die
  709. Alternate- oder Control-Taste gedrückt sind, so wird die Maus zur (!EM)flat 
  710. hand(!em), der die darunterliegende Textzeile vertikal und horizontal folgt. 
  711. Diese Funktionalität wird noch dadurch erweitert, da₧ der Text zeilenweise in 
  712. die entsprechende Richtung scrollt, wenn man mit der Maus das Fenster am 
  713. oberen oder unteren Rand verlä₧t.
  714.  
  715. (!KEY)Shift Control Auf(!key) bewegt den Textausschnitt um eine Zeile nach oben,
  716. ohne die Cursorposition zu verändern.
  717.  
  718. (!KEY)Shift Control Ab(!key) bewegt den Textausschnitt analog um eine Zeile nach
  719. unten, ohne die Cursorposition zu verändern.
  720.  
  721. !index Springen !! zum Textanfang und -ende
  722. (!KEY)Home(!key) springt an den Textanfang und setzt den Cursor in die linke,
  723. obere Ecke.
  724.  
  725. (!KEY)Shift Home(!key) springt an das Textende und setzt den Cursor in die
  726. linke, untere Ecke.
  727.  
  728. (!KEY)Control F2(!key) setzt den Fensterausschnitt um eine halbe Seite nach links.
  729.  
  730. (!KEY)Control F3(!key) setzt den Fensterausschnitt um eine halbe Seite nach rechts.
  731.  
  732. !begin_center
  733. (!IMAGE [Images/clixline])
  734. !end_center
  735.  
  736. !index Springen !! zu Zeile
  737. (!KEY)Alternate Z(!key) oder der Menüeintrag (!EM)Mark/Zeile(!em) öffnet einen Dialog,
  738. über den man eine beliebige Zeile bzw. Spalte anspringen kann. Alternativ
  739. kann man eine Byte-Position angeben, die vom Textanfang ab gezählt wird.
  740.  
  741. !index Faltung !! Zeilennumerierung
  742. Normalerweise wird ein gefalteter Block als (!EM)eine(!em) Zeile 
  743. gezählt. Mit aktivierter Option
  744. (!EM)Blockfaltung ignorieren(!em) werden auch eingefaltete Zeilen mitgezählt. Ruft 
  745. man Clix in der Kommandozeile mit Textname plus Zeilennummer auf, wird dieser 
  746. Modus implizit verwendet. Das trifft auch zu, wenn man mit rechter Maustaste 
  747. plus Doppelklick auf eine Zahl in einem hinten liegenden Fenster 
  748. positioniert. Da solche Zeilenangaben zumeist von anderen Programmen 
  749. generiert werden, die keine Blockfaltung kennen oder sie einfach ignorieren 
  750. --- z.B. (!TeX), ONYX-Assembler ---, kann so eine korrekte Positionierung
  751. ermöglicht werden.
  752.  
  753. (!KEY)Control 1..0(!key) (Hauptblock) oder der Menüpunkt (!EM)Mark/setze Marke(!em)
  754. setzt eine der zehn Textmarken. Die aktuelle Zeilenposition im Dokument wird 
  755. gespeichert. Bei Operationen wie Zeile einfügen oder löschen werden die 
  756. Positionen der Marken entsprechend angepa₧t.
  757.  
  758. !index Springen !! zu Marke
  759. (!KEY)Alternate 1..0(!key) (Hauptblock) oder der Menüpunkt (!EM)Mark/Marke(!em) springt
  760. die über (!KEY)Control 1..0(!key) gesetzten Textmarken an. Der Cursor wird an den
  761. Anfang der jeweils gespeicherten Zeile gesetzt.
  762.  
  763. !index Springen !! zu letzter Position
  764. (!KEY)Alternate G(!key) oder der Menüpunkt (!EM)Mark/Letzte Pos.(!em) setzt den Cursor
  765. an die zuletzt angesprungene Position im Text.
  766.  
  767. !index Springen !! zum Blockanfang und -ende
  768. (!KEY)Alternate B(!key) oder der Menüeintrag (!EM)Mark/Blockstart(!em) setzt den Cursor
  769. an den Anfang des Blocks. Ist kein Block markiert, so wird der Cursor an den
  770. Anfang des Dokumentes bewegt.
  771.  
  772. (!KEY)Alternate K(!key) oder der Menüeeintrag (!EM)Mark/Blockende(!em) setzt den Cursor
  773. an das Ende des Blocks. Ist kein Block markiert, so wird der Cursor an den
  774. Anfang des Dokumentes bewegt.
  775.  
  776.  
  777. #}}}
  778.  
  779. #*****************************************************************
  780. !newpage
  781. !node Cursorpositionierung
  782. #{{{
  783. Ein Klick mit der linken Maustaste innerhalb eines aktiven Fensters
  784. positioniert den Cursor auf die gewünschte Position.
  785.  
  786. Hält man die rechte Maustaste gedrückt und klickt eine Zahl in einem nicht 
  787. aktiven Fenster an, so wird sie als Zeilennummer interpretiert, zu der im 
  788. obersten Fenster gesprungen wird. Folgt ein (!B)^(!b) und noch eine
  789. Zahl, wird diese als Spalte interpretiert. (!B)10^20(!b) springt zur Zeile
  790. 10, in die Spalte 20.
  791.  
  792. (!KEY)Rechts(!key) bewegt den Cursor innerhalb einer Zeile um eine Spalte nach
  793. rechts. Es spielt dabei keine Rolle, ob sich an dieser Position noch ein
  794. Zeichen befindet oder nicht. Unter Clix ist der Cursor jederzeit frei
  795. positionierbar.
  796.  
  797. (!KEY)Links(!key) bewegt den Cursor innerhalb einer Zeile um eine Spalte nach
  798. links. Befindet sich der Cursor bereits am linken Rand, so wird das
  799. Kommando ignoriert.
  800.  
  801. (!KEY)Auf(!key) bewegt den Cursor um eine Zeile nach oben. Befindet sich der
  802. Cursor bereits in der ersten Zeile, so wird das Kommando ignoriert.
  803.  
  804. (!KEY)Ab(!key) bewegt den Cursor um eine Zeile nach unten. Befindet sich der
  805. Cursor bereits in der letzten Zeile, so wird das Kommando ignoriert.
  806.  
  807. (!KEY)Shift Links(!key) setzt den Cursor an den Anfang der Zeile.
  808.  
  809. (!KEY)Shift Rechts(!key) setzt den Cursor an das Ende der Zeile.
  810.  
  811. (!KEY)Shift Auf(!key) bewegt den Cursor um eine Seite nach oben. Befindet sich
  812. der Cursor bereits auf der ersten Seite, so wird das Kommando ignoriert.
  813.  
  814. (!KEY)Shift Ab(!key) bewegt den Cursor um eine Seite nach unten. Befindet sich
  815. der Cursor bereits auf der letzten Seite, so wird das Kommando ignoriert.
  816.  
  817. (!KEY)Control Links(!key) setzt den Cursor auf das erste Zeichen des
  818. vorausgehenden Wortes. Befinden sich zwischen dem ersten Wort der Zeile
  819. und dem linken Rand noch Leerzeichen, so wird der Cursor an den Anfang der
  820. Zeile gesetzt. Clix unterscheidet drei Gruppen von Zeichen, die als Wort
  821. gelten: Leerzeichen, Buchstaben und Zahlen, sowie Satz-/ Trenn-/
  822. Rechenzeichen. Beim Springen von Wort zu Wort wird also eigentlich von
  823. Zeichengruppe zu Zeichengruppe gesprungen.
  824.  
  825. (!KEY)Control Rechts(!key) setzt den Cursor auf das erste Zeichen des nächsten
  826. Wortes. Befindet sich der Cursor bereits innerhalb des letzten Wortes einer
  827. Zeile, so wird er hinter das Wort gesetzt.
  828.  
  829. (!KEY)Control Auf(!key) setzt den Cursor unter Beibehaltung der Spalte in die
  830. erste Zeile der Seite.
  831.  
  832. (!KEY)Control Ab(!key) setzt den Cursor unter Beibehaltung der Spalte in die
  833. letzte Zeile der Seite.
  834.  
  835. (!KEY)Shift Control Links(!key) setzt den Cursor an den logischen Zeilenanfang.
  836. Dies entspricht dem ersten Zeichen einer Zeile, das kein Leerzeichen ist.
  837.  
  838.  
  839. #}}}
  840.  
  841. #*****************************************************************
  842. !newpage
  843. !node Editieren
  844. #{{{
  845. Clix stellt zahlreiche Operationen zur Verfügung, die das Editieren eines
  846. Textes erleichtern:
  847.  
  848. !subnode Undo
  849.  
  850. !index Undo
  851. !index Redo
  852. Clix fügt eine vom Benutzer editierte Zeile erst dann in den gesamten Text
  853. ein, wenn der Cursor diese verlä₧t. Über (!KEY)Undo(!key) oder den Menüpunkt
  854. (!EM)Undo/Redo(!em) kann der ursprüngliche Zustand, auch wenn die Zeile
  855. verlassen wurde, wiederhergestellt werden. Die Zeilennummer der zuletzt
  856. modifizierten Zeile wird im Menü angezeigt. Wurde ein (!EM)Undo(!em)
  857. durchgeführt, so erscheint im Menü (!EM)Redo(!em). (!EM)Redo(!em) stellt den Zustand
  858. vor der (!EM)Undo(!em)-Operation wieder her und umgekehrt.
  859.  
  860. !subnode Zeile einfügen
  861.  
  862. !index Zeile !! einfügen
  863. !index Einfügen !! Zeile
  864. (!KEY)Insert(!key) oder (!KEY)Control N(!key) fügt an der aktuellen Cursorposition
  865. eine Leerzeile ein. Der Cursor sitzt anschlie₧end am Zeilenanfang.
  866.  
  867. (!KEY)RETURN(!key) oder (!KEY)ENTER(!key) fügt unterhalb der Cursorposition eine
  868. Leerzeile ein und setzen den Cursor an deren Anfang. Ist die allgemeine Option
  869. (!EM)RETURN trennt Zeile(!em) aktiv, so wird die aktuelle Zeile ab der
  870. Cursorposition umbrochen (siehe Zeile umbrechen). Im Flie₧textmodus wird
  871. die aktuelle Zeile zusätzlich als Absatzende markiert.
  872.  
  873. !subnode Zeilen umbrechen
  874.  
  875. !index Zeile !! umbrechen
  876. Über (!KEY)Alternate RETURN(!key) oder (!KEY)Alternate ENTER(!key) wird die Zeile ab der
  877. Cursorposition getrennt. Dazu wird eine Leerzeile eingefügt, in die
  878. der Rest der Zeile umbrochen wird. Ist die allgemeine Option
  879. (!EM)RETURN trennt Zeile(!em) aktiv, so wird unterhalb
  880. der Cursorposition eine Leerzeile eingefügt und der Cursor an deren Anfang
  881. gesetzt (siehe Zeile einfügen).
  882.  
  883. !subnode Zeilen vereinigen
  884.  
  885. !index Zeile !! vereinigen
  886. (!KEY)Alternate Backspace(!key) vereinigt, unabhängig von der aktuellen
  887. Cursorposition, die Zeile, in der sich der Cursor befindet, mit der
  888. darüberliegenden. Der Cursor wird an die Verbindungsstelle der beiden Zeilen
  889. gesetzt.
  890.  
  891. (!KEY)Shift Backspace(!key) führt sooft das Kommando (!EM)Zeichen links löschen(!em)
  892. aus, bis der Cursor an der vorigen Tabulatorposition steht. Steht der Cursor
  893. am Zeilenanfang, so wird die aktuelle Zeile mit der darüberliegenden
  894. vereinigt.
  895.  
  896. (!KEY)Alternate Delete(!key) vereinigt, unabhängig von der aktuellen
  897. Cursorposition, die Zeile unterhalb des Cursors mit der darunterliegenden.
  898. Der Cursor wird an die Verbindungsstelle der beiden Zeilen gesetzt.
  899. !subnode Zeile sichern
  900.  
  901. !index Zeile !! sichern
  902. (!KEY)Control S(!key) sichert den Inhalt der aktuellen Zeile in einen globalen
  903. Zeilenpuffer.
  904.  
  905. !subnode Zeile löschen
  906.  
  907. !index Zeile !! löschen
  908. !index Löschen !! Zeichen
  909. (!KEY)Control Y(!key) löscht die aktuelle Zeile und setzt den Cursor an den
  910. Zeilenanfang. Der Inhalt der gelöschten Zeile wird im Zeilenpuffer gesichert
  911. und kann daher über (!KEY)Control E(!key) wieder restauriert werden.
  912.  
  913. !subnode Zeilenpuffer einfügen
  914.  
  915. !index Zeile !! aus Puffer einfügen
  916. !index Einfügen !! aus Zeilenpuffer
  917. (!KEY)Control E(!key) fügt in der aktuellen Zeile den Inhalt des Zeilenpuffers ein.
  918. Der Zeilenpuffer enthält die zuletzt über (!KEY)Control Y(!key) gelöschte oder
  919. mittels (!KEY)Control S(!key) zuletzt gesicherte Zeile.
  920.  
  921. !subnode Zeile duplizieren
  922.  
  923. !index Zeile !! duplizieren
  924. (!KEY)Control Insert(!key) dupliziert die Zeile, in der sich der Cursor befindet,
  925. und setzt den Cursor um eine Zeile tiefer. 
  926.  
  927. !subnode Zeile auskommentieren
  928.  
  929. !index Zeile !! auskommentieren
  930. (!KEY)Alternate H(!key) kommentiert die Zeile, in der sich der Cursor befindet aus.
  931. Als Kommentarzeichen werden die über den Dialog
  932. (!EM)Optionen/Sonderzeichen...(!em) ausgewählten Symbole verwendet. War eine
  933. Zeile schon auskommentiert, so werden die Kommentarzeichen wieder entfernt.
  934.  
  935. !subnode Zeile formatieren
  936.  
  937. !index Zeile !! formatieren
  938. !index Formatieren !! Zeile
  939. (!KEY)Alternate W(!key) formatiert die Zeile neu, in der sich
  940. der Cursor befindet. Dazu mu₧ die Textoption (!EM)Wortumbruch(!em) aktiv sein. 
  941. Ragt die Zeile über den rechten Fensterrand hinaus, so wird sie umbrochen.
  942. Ist die Folgezeile eingerückt, so wird für sämtliche Folgezeilen die 
  943. Einrückung beibehalten.
  944.  
  945. !subnode Absatz formatieren
  946.  
  947. !index Formatieren !! Absatz
  948. (!KEY)Shift Alternate W(!key) formatiert den
  949. Absatz neu, in dem sich der Cursor befindet. Es werden nur solche Zeilen 
  950. formatiert, die über ein sogenanntes weiches Zeilenende verfügen. Ein weiches 
  951. Zielenende bedeutet, da₧ dem Zeilenende ein Leerzeichen vorausgeht. Absätze 
  952. werden durch ein hartes Zeilenende, dem kein Leerzeichen vorangeht, 
  953. voneinander getrennt. Dieses Verfahren, erlaubt die Sicherung von 
  954. Formatinformationen in einer normalen ASCII-Datei. Zu beachten ist, da₧ 
  955. immer der (!EM)komplette(!em) Absatz neu formatiert wird.
  956.  
  957. !subnode Unformatierte ASCII-Texte formatieren
  958.  
  959. !index Formatieren !! ASCII-Texte
  960. (!KEY)Control Alternate W(!key)  formatiert eine
  961. Zeile auch dann, wenn sie ein Absatzende ist. Dies ist nützlich, wenn 
  962. unformatierte ASCII-Texte formatiert werden sollen
  963.  
  964. (!KEY)Shift Control Alternate W(!key)  erlaubt
  965. die Formatierung von Dokumenten, die nur über harte Zeilenenden verfügen. Die 
  966. Trennung von Absätzen erfolgt in diesem Fall durch eine Leerzeile oder das 
  967. Textende. Duch die Formatierung werden harte in weiche Zeilenenden 
  968. konvertiert.
  969.  
  970. !subnode Zeichen aus darüberliegender Zeile kopieren
  971.  
  972. !index Zeichen !! kopieren
  973. !index Kopieren !! Zeichen
  974. (!KEY)Control D(!key) kopiert das Zeichen, das sich in der darüberliegenden Zeile
  975. in der Cursorspalte befindet, an die aktuelle Cursorposition.
  976. !subnode Wort aus darüberliegender Zeile kopieren
  977.  
  978. !index Wort !! kopieren
  979. !index Kopieren !! Wort
  980. (!KEY)Shift Control D(!key) kopiert das Wort, das sich in einer darüberliegenden
  981. Zeile in der Cursorspalte befindet, an die aktuelle Cursorposition.
  982. Bei der Suche nach dem zu kopierenden Wort wird solange um eine Zeile nach
  983. oben gesprungen, bis ein Wort gefunden, oder der Textanfang erreicht wurde.
  984. Der Cursor steht anschlie₧end hinter dem Wort.
  985. !subnode Zeichen löschen
  986.  
  987. !index Zeichen !! löschen
  988. !index Löschen !! Zeichen
  989. (!KEY)Backspace(!key) löscht das Zeichen links neben dem Cursor. Befindet sich der
  990. Cursor am Zeilenanfang, so wird das Kommando ignoriert.
  991.  
  992. (!KEY)Delete(!key) löscht das Zeichen unter dem Cursor.
  993. !subnode Wort löschen
  994.  
  995. !index Wort !! löschen
  996. !index Löschen !! Wort
  997. (!KEY)F2(!key) oder (!KEY)Shift Control T(!key) löscht ab der aktuellen Cursorposition
  998. die linke Worthälfte. Befindet sich der Cursor zwischen zwei Worten, so wird
  999. das gesamte linke Wort entfernt (siehe auch wortweise
  1000. Cursor-Positionierung).
  1001.  
  1002. (!KEY)F3(!key) oder (!KEY)Control T(!key) löscht ab der aktuellen Cursorposition die
  1003. rechte Worthälfte. Befindet sich der Cursor zwischen zwei Worten, so wird
  1004. der Zwischenraum bis zum nächsten Wort entfernt (siehe auch wortweise
  1005. Cursor-Positionierung).
  1006. !subnode Bis Zeilenanfang/-ende löschen
  1007.  
  1008. !index Löschen !! bis Zeilenanfang/-ende
  1009. (!KEY)Shift F2(!key) löscht die aktuelle Zeile ab der Cursorposition bis zum
  1010. Zeilenanfang. Der Cursor steht anschlie₧end am Zeilenanfang.
  1011.  
  1012. (!KEY)Shift F3(!key) löscht die aktuelle Zeile ab der Cursorposition bis zum
  1013. Zeilenende. Der Cursor behält seine Position bei.
  1014. !subnode Leerzeichen einfügen
  1015.  
  1016. !index Einfügen !! Leerzeichen
  1017. (!KEY)Control Leertaste(!key) fügt ein Leerzeichen ein, ohne die Position des Cursors zu
  1018. verändern. Diese Funktion wird vor allem im Überschreibmodus benötigt.
  1019. !subnode Dateinamen einfügen
  1020. !index Einfügen !! Dateinamen
  1021. !index Dateilisten
  1022. !label InsFNames
  1023. (!KEY)Shift Control L(!key) oder der Menüpunkt (!EM)Edit/Filenamen...(!em) öffnet
  1024. die Dateiauswahlbox, in der man einen Dateinamen oder eine Dateimaske
  1025. eingeben kann --- etwa (!REF)*.TEX(!ref). Alle gefundenen Dateinamen werden mit
  1026. vollständigem Pfad an der Cursorposition eingefügt, pro Zeile ein Dateiname.
  1027. Dieses Kommando erweist sich als sinnvoll, um eine Dateiliste zu erstellen,
  1028. wenn man Suchen und Ersetzen in Dateien durchführen will.
  1029.  
  1030. !subnode ASCII-Zeichen einfügen
  1031.  
  1032. !begin_center
  1033. (!IMAGE [Images/clixasci])
  1034. !end_center
  1035.  
  1036. !index Einfügen !! ASCII-Zeichen
  1037. (!KEY)Control L(!key) oder der Menüpunkt (!EM)Edit/ASCII...(!em) öffnet eine
  1038. Dialogbox, die sämtliche ASCII-Zeichen enthält. Durch einen Mausklick über
  1039. dem gewünschten Zeichen wird dieses in die untere, editierbare Zeile
  1040. übernommen. Somit lassen sich normal erreichbare Zeichen mit Sonderzeichen
  1041. mischen. Beim Verlassen des Dialogs über (!EM)Einfügen(!em) wird der Inhalt der
  1042. Zeile an der aktuellen Cursorposition in den Text eingefügt.
  1043.  
  1044. Wird über einem Zeichen der Box ein Doppelklick ausgeführt, so wird das
  1045. gewählte Zeichen sofort an der Cursorposition in den Text eingefügt.
  1046.  
  1047. Die Zeichen (!REF)CR(!ref) und (!REF)0C(!ref) werden weder übernommen noch in den
  1048. Text eingefügt, (!REF)LF(!ref) bedeutet ein Zeilenende.
  1049.  
  1050. Sonstige ASCII-Zeichen können alternativ über ihren ASCII-Code, auch unter 
  1051. TOS-Versionen kleiner als 2.05, direkt eingegeben werden. Dazu mu₧ die 
  1052. (!KEY)Alternate(!key)-Taste gedrückt werden, während der ASCII-Code des
  1053. gewünschten Zeichens auf dem Ziffernblock eingegebn wird. Nach Loslassen der 
  1054. (!KEY)Alternate(!key)-Taste erscheint das entsprechende Zeichen.
  1055.  
  1056. !subnode Tabulator anspringen
  1057.  
  1058. !index Tabulatoren
  1059. (!KEY)Control Tab(!key) setzt den Cursor auf die nächste, rechte Tabulatorposition.
  1060.  
  1061. (!KEY)Shift Control Tab(!key) oder (!KEY)Control Backspace(!key) setzt den Cursor auf die
  1062. nächste, linke Tabulatorposition.
  1063.  
  1064. (!KEY)Tab(!key) fügt soviele Leerzeichen ein, wie nötig sind, um den Cursor an die
  1065. nächste Tabulatorposition zu setzen.
  1066.  
  1067. (!KEY)Shift Tab(!key) führt sooft das Kommando (!EM)Zeichen links löschen(!em) aus,
  1068. bis der Cursor an der vorigen Tabulatorposition steht. Steht der Cursor
  1069. am Zeilenanfang, so wird das Kommando ignoriert.
  1070.  
  1071. (!KEY)Shift Backspace(!key) entspricht (!KEY)Shift Tab(!key), mit einer Ausnahme: Steht
  1072. der Cursor am Zeilenanfang, so wird die aktuelle Zeile mit der 
  1073. darüberliegenden vereinigt.
  1074.  
  1075. !subnode Text einrücken
  1076.  
  1077. !index Verschieben !! Zeile
  1078. !index Zeile !! verschieben
  1079. !index Einrücken !! Zeile
  1080. !index Zeile !! einrücken
  1081. !label ZeileSchieben
  1082.  
  1083. (!KEY)Alternate <(!key) löscht am Zeilenanfang soviele Leerzeichen, wie als
  1084. Tabulatorweite für das jeweilige Fenster definiert sind. Der Zeileninhalt 
  1085. wird also um (!EM)Tabulatorweite(!em) Zeichen nach links verschoben. Das Kommando 
  1086. wird ignoriert, wenn der Cursor am Zeilenanfang steht. Anschlie₧end wird der 
  1087. Cursor, unter Beibehaltung seiner Spaltenposition, eine Zeile tiefer gesetzt.
  1088.  
  1089. (!KEY)Shift Alternate <(!key) fügt am Zeilenanfang soviele Leerzeichen ein, wie
  1090. als Tabulatorweite für das jeweilige Fenster definiert sind. Der Zeileninhalt 
  1091. wird also um (!EM)Tabulatorweite(!em) Zeichen nach rechts verschoben. Anschlie₧end 
  1092. wird der Cursor, unter Beibehaltung seiner Spaltenposition, eine Zeile tiefer 
  1093. gesetzt.
  1094.  
  1095. !subnode Zeile tauschen
  1096.  
  1097. !index Zeile !! tauschen
  1098. !index Vertauschen !! Zeilen
  1099. (!KEY)Alternate !~(!key) oder (!KEY)Alternate #(!key) vertauscht die Zeile, in der
  1100. sich der Cursor befindet, mit der darunterliegenden. Sitzt der Cursor in der
  1101. letzen Zeile, so wird das Kommando ignoriert.
  1102.  
  1103. (!KEY)Shift Alternate !~(!key) oder (!KEY)Shift Alternate #(!key) vertauscht die
  1104. Zeile, in der sich der Cursor befindet, mit der darüberliegenden. Sitzt der
  1105. Cursor in der ersten Zeile, so wird das Kommando ignoriert.
  1106. !subnode Zeichen wandeln
  1107.  
  1108. !index Zeichen !! wandeln
  1109. (!KEY)Alternate -(!key) (Ziffernblock) verwandelt das unter dem Cursor
  1110. befindliche Zeichen in Kleinschrift. Der Cursor wird um eine Position nach
  1111. rechts gesetzt.
  1112.  
  1113. (!KEY)Alternate +(!key) (Ziffernblock) verwandelt das unter dem Cursor
  1114. befindliche Zeichen in Gro₧schrift. Der Cursor wird um eine Position nach
  1115. rechts gesetzt.
  1116.  
  1117. !index Zeichen !! tauschen
  1118. !index Vertauschen !! Zeichen
  1119. (!KEY)Alternate~.(!key) (Ziffernblock) vertauscht die beiden Zeichen links
  1120. des Cursors.
  1121.  
  1122. #}}}
  1123.  
  1124. #*****************************************************************
  1125. !newpage
  1126. !node Suchen und Ersetzen
  1127. #{{{
  1128. !subnode Suchen
  1129.  
  1130. !index Suchen
  1131. (!KEY)Control F(!key) bzw. der Menüpunkt (!EM)Edit/Suchen(!em) dient zur Suche eines
  1132. Textmusters. Folgender Dialog ermöglicht die Eingabe von zehn verschiedenen 
  1133. Suchmustern, die über eine Pfeilbox umgeschaltet werden 
  1134. können. Wissenswert ist in diesem Zusammenhang, da₧ Clix Zeilenenden 
  1135. intern als Linefeed abspeichert. Mit (!KEY)Control J(!key) kann man dieses in
  1136. GEM-Eingabefeldern eingeben, so da₧ Zeilenenden gesucht oder ersetzt werden 
  1137. können.
  1138.  
  1139. (!KEY)Shift Control F(!key) startet die Suche eines Textmusters rückwärts.
  1140.  
  1141. !begin_center
  1142. (!IMAGE [Images/clixfind])
  1143. !end_center
  1144.  
  1145. Normalerweise wird die Suche ab der Cursorposition begonnen, ist jedoch der 
  1146. Button (!EM)Ab Textanfang(!em) aktiviert, so wird die Suche ab dem Textanfang 
  1147. durchgeführt.
  1148.  
  1149. Die Option (!EM)Gro₧/Klein ignorieren(!em) führt dazu, da₧ bei der Suche kein 
  1150. Unterschied zwischen Gro₧- und Kleinbuchstaben gemacht wird. (!EM)Wort(!em) wäre 
  1151. also gleichbedeutend mit (!EM)wort(!em).
  1152.  
  1153. Die Option (!EM)Einzelwort(!em) dient dazu, nur Einzelwörter zu finden. Will man 
  1154. beispielsweise alle im Text stehenden (!EM)ein(!em) finden, so würden im normalen 
  1155. Suchmodus auch Wörter gefunden, die (!EM)ein(!em) enthalten, wie etwa 
  1156. (!EM)einmalig(!em) oder (!EM)Lateinisch(!em). Im Einzelwortmodus jedoch werden 
  1157. tatsächlich nur die einzelnen Wörter (!EM)ein(!em) gefunden.
  1158.  
  1159. (!EM)In Blockfaltung(!em) bewirkt, da₧ sich die Suche auch auf gefaltete Blocks 
  1160. erstreckt. Durch Abschalten dieser Option und Wegfalten bestimmter Textteile 
  1161. lä₧t sich also der Suchbereich flexibel einschränken. Wird ein gefalteter 
  1162. Block aufgeklappt, um eine Fundstelle anzuzeigen, so erscheint folgender 
  1163. Alert:
  1164.  
  1165. !begin_center
  1166. (!IMAGE [Images/clixfoun])
  1167. !end_center
  1168.  
  1169. (!EM)Ja(!em) faltet den Block wieder ein sucht das nächste Vorkommen, (!EM)Nein(!em) 
  1170. stoppt den Vorgang, und (!EM)Falten(!em) faltet den Block und sucht nach dessen 
  1171. Ende weiter (bzw. vor seinem Anfang, je nach Suchrichtung).
  1172.  
  1173. Wurde ein Block markiert, so lä₧t sich die Suche auch auf den Blockbereich 
  1174. begrenzen. Dazu mu₧ die Option (!EM)Blockbereich(!em) aktiviert werden.
  1175.  
  1176. Die Radiobuttons (!EM)Vorwärts(!em) bzw. (!EM)Rückwärts(!em) ermöglichen es 
  1177. nachträglich, die Suchrichtung festzulegen.
  1178.  
  1179. Neben diesen Optionen kann noch ein sogenanntes Jokerzeichen definiert 
  1180. werden. Im Normalfall ist dies ein Fragezeichen. Gibt man dieses Jokerzeichen 
  1181. in einem Suchbegriff ein, so werden alle Stellen im Text angesprungen, die 
  1182. mit dem Suchbegriff bis auf dieses Zeichen übereinstimmen. Sucht man 
  1183. beispielsweise nach (!EM)M?st(!em), so würde sowohl das Wort (!EM)Mast(!em) als auch das 
  1184. Wort (!EM)Most(!em) angesprungen.
  1185.  
  1186. (!EM)Manual(!em) sucht den eingegebenen Begriff im Online-Manual. Dies ist auch 
  1187. dann möglich, wenn kein Text geöffnet ist. (!EM)Start(!em) beginnt die Suche nach 
  1188. dem eingegebenen Begriff im aktuellen Text.
  1189.  
  1190. (!EM)OK(!em) übernimmt die Einstellungen des Dialoges, ohne eine Suche 
  1191. durchzuführen, während (!EM)Abbruch(!em) alle Einstellungen unverändert lä₧t.
  1192.  
  1193. (!KEY)Alternate F(!key) oder der Menüpunkt (!EM)Edit/Weitersuchen(!em) setzt die Suche
  1194. nach dem zuletzt definierten Suchbegriff ab der Cursorposition vorwärts
  1195. fort, ohne den Dialog erneut zu öffnen.
  1196.  
  1197. (!KEY)Shift Alternate F(!key) sucht den zuletzt eingegebenen Begriff ab der
  1198. Cursorposition rückwärts, ohne den Dialog zu öffnen.
  1199.  
  1200. (!KEY)Control Alternate F(!key) sucht das erstmalige Vorkommen des eingegebenen
  1201. Suchbegriffs im Text, ohne den Dialog erneut zu öffnen.
  1202.  
  1203. (!KEY)Shift Control Alternate F(!key) sucht das letzte Vorkommen des eingegebenen
  1204. Begriffs im Text, ohne den Dialog zu öffnen.
  1205.  
  1206. Eine Blockoperation erleichtert die Übernahme eines Suchbegriffs aus dem
  1207. Text in die Dialogbox:
  1208.  
  1209. !index Block !! als Suchbegriff
  1210. !index Suchen !! Block als Suchbegriff
  1211. (!KEY)Alternate M(!key) übernimmt den markierten Block als Suchbegriff. Da die
  1212. Länge des Suchbegriffes begrenzt ist, wird, falls der markierten Block zu 
  1213. lang ist, der Rest abgeschnitten.
  1214.  
  1215.  
  1216. !subnode Globale Suche
  1217. !index Suchen !! global
  1218.  
  1219. Um einen schnellen Zugriff auf alle Stellen eines Textes zu erhalten, die
  1220. einen bestimmten Begriff enthalten, kann man auf die sogenannte (!EM)globale 
  1221. Suche(!em) zurückgreifen. (!KEY)Control G(!key) öffnet folgenden Dialog:
  1222.  
  1223. !begin_center
  1224. (!IMAGE [Images/clixgfin])
  1225. !end_center
  1226.  
  1227. Für die Suche stehen neun unabhänige Eingabefelder für den Suchbegriff zur 
  1228. Verfügung. (!KEY)Suchen(!key) startet die globale Suche im aktuellen Text. In der
  1229. darüberliegenden Scroll-Liste werden die Zeilenanfänge aller gefundenen 
  1230. Stellen aufgelistet. Um an eine der Stellen im Text zu springen wird der 
  1231. Selektions-Balken mittels Cursor-Tasten auf die gewünschten Stelle 
  1232. positioniert und über (!KEY)Return(!key) angesprungen. Alternativ kann auch ein
  1233. Doppelklick auf den gewünschten Eintrag erfolgen. (!KEY)Home(!key) bzw. (!KEY)Shift
  1234. Home(!key) positioniert den Selektions-Balken auf den Anfang bzw. das Ender der
  1235. Liste. Bei der Suche werden einige Optionen beürcksichtigt, die von normalen 
  1236. Textsuche schon bekannt sind. Da maximal 256 Fundstellen verwaltet werden, 
  1237. sollte der Suchbereich über diese Optionen sinnvoll eingeschränkt werden.
  1238.  
  1239.  
  1240. !subnode Inkrementelle Suche
  1241. !index Suchen !! inkrementell
  1242.  
  1243. (!KEY)Control O(!key) und der Menüpunkt (!EM)Edit/Inkrementell...(!em) erlauben eine
  1244. sogenannte inkrementelle Suche von Zeichenketten im Text. Es erscheint ein 
  1245. Anzeige-Box mit dem aktuellen Suchbegriff und der Suchrichtung. Zunächst ist 
  1246. der Suchbegriff leer und die Suche erfolgt nach unten. Wird nun ein Zeichen 
  1247. eingegeben, so wird dieses an das Suchmuster angehängt und der Cursor wird an 
  1248. die nächste passende Stelle im Text positioniert.
  1249.  
  1250. (!KEY)Return(!key) wird als Zeilenende interpretiert und ebenfalls angehängt.
  1251.  
  1252. (!KEY)Backspace(!key) löscht das letzte Zeichen im Suchtext und springt zur letzten
  1253. passenden Position zurück.
  1254.  
  1255. (!KEY)Esc(!key) löscht das komplette Suchmuster.
  1256.  
  1257. (!KEY)Auf/Ab(!key) kehrt die Suchrichtung um und startet den Suchvorgang erneut. In
  1258. Kombination mit (!KEY)Shift(!key) wird das erste bzw. letzte Vorkommen des Musters
  1259. gesucht. Die Taste (!KEY)Control(!key) beschränkt die Suche zusätzlich auf einzelne
  1260. Worte.
  1261.  
  1262. (!KEY)Undo(!key) beendet die inkrementelle Suche und schlie₧t die Anzeige-Box.
  1263.  
  1264. Bei einer erneuten inkrementellen Suche bleibt das Suchmuster erhalten. In 
  1265. gefalteten Blöcken wird ebenfalls gesucht. Diese werden zu diesem Zweck 
  1266. temporär aufgeklappt.
  1267.  
  1268. (!KEY)Shift Control O(!key) startet die inkrementelle Suche von der aktuellen
  1269. Cursorposition nach oben.
  1270.  
  1271. !subnode Ersetzen
  1272.  
  1273. !index Ersetzen
  1274. (!KEY)Control R(!key) oder der Menüpunkt (!EM)Edit/Ersetzen(!em) dient zur Suche und zur
  1275. Ersetzung von Textteilen.
  1276.  
  1277. (!KEY)Shift Control R(!key) startet die Operation rückwärts.
  1278.  
  1279. Es erscheint folgende Dialogbox:
  1280.  
  1281. !begin_center
  1282. (!IMAGE [Images/clixrepl])
  1283. !end_center
  1284.  
  1285. Der Dialog bietet jeweils zehn Such- und Ersetzungstexte, zwischen denen über 
  1286. eine Pfeilbox  umgeschaltet werden kann. Wird für den Suchen- und den 
  1287. Ersetzungstext dieselbe Zeichenkette ausgewählt, so werden beide 
  1288. Editierfelder simultan bearbeitet. Die meisten Buttons entsprechen den 
  1289. Optionen des Kommandos (!EM)Suchen(!em). Ist der Button (!EM)Fragen(!em) aktiv, so wird 
  1290. vor jeder Ersetzung eine Sicherheitsabfrage durchgeführt. Dazu wird an der 
  1291. betreffenden Stelle eine verschiebbare Dialogbox geöffnet, die vier 
  1292. verschiedene Eingaben kennt:
  1293.  
  1294. !begin_center
  1295. (!IMAGE [Images/clixrequ])
  1296. !end_center
  1297.  
  1298. (!EM)Letztes(!em) ersetzt die zuletzt gefundene Stelle und bricht dann den 
  1299. Suchvorgang ab. (!EM)Ja(!em) ersetzt die gefundene Stelle und fährt mit der Suche 
  1300. fort. (!EM)Nein(!em) ersetzt die gefundene Stelle nicht, fährt aber mit der Suche 
  1301. nach dem nächsten Begriff fort. (!EM)Abbruch(!em) bricht den Suchvorgang sofort 
  1302. ab, ohne eine Ersetzung durchzuführen.
  1303.  
  1304. (!KEY)Alternate R(!key) setzt das Suchen und Ersetzen ab der Cursorposition mit den
  1305. zuletzt eingegebenen Begriffen fort, ohne den Dialog erneut zu öffnen.
  1306.  
  1307. (!KEY)Shift Alternate R(!key) setzt das Suchen und Ersetzen ab der Cursorposition
  1308. rückwärts fort, ohne den Dialog zu öffnen.
  1309.  
  1310. (!KEY)Control Alternate R(!key) setzt das Suchen und Ersetzen ab dem Textanfang mit
  1311. Nachfrage fort, ohne den Dialog zu öffnen.
  1312.  
  1313. (!KEY)Shift Control Alternate R(!key) setzt das Suchen und Ersetzen ab dem Textende
  1314. mit Nachfrage fort, ohne den Dialog zu öffnen.
  1315.  
  1316. Eine weitere Blockoperation erleichtert die Übernahme eines
  1317. Ersetzungsbegriffes aus dem Text in die Dialogbox:
  1318.  
  1319. !index Block !! als Ersetzungsbegriff
  1320. !index Ersetzen !! Block als Ersetzungsbegriff
  1321. (!KEY)Shift Alternate M(!key) übernimmt den markierten Block als
  1322. Ersetzungsbegriff. Da die Länge des Ersetzungsbegriffes begrenzt ist, wird 
  1323. der Rest abgeschnitten, falls der markierte Block zu lang ist.
  1324.  
  1325. Beim Suchen und Ersetzen ohne Nachfragen wird die Anzahl der durchgeführten 
  1326. Ersetzungen in der Menüleiste mitgezählt. Ist die Option (!EM)Nach 
  1327. Suchen+Ersetzen Meldung(!em) aktiviert, zeigt am Ende des Kommandos ein Alert 
  1328. die Anzahl der Ersetzungen an.
  1329.  
  1330. !subnode Mehrfaches Ersetzen
  1331. !index Ersetzen !! mehrfaches
  1332. !index Mehrfaches Ersetzen
  1333.  
  1334. Manchmal ist es nötig, in einem Text mehrere verschiedene Ersetzungen 
  1335. durchzuführen, etwa wenn man zwei Begriffe A und B vertauschen will; dazu 
  1336. ersetzt man A durch ein im Text sonst nicht vorkommendes Muster X, danach 
  1337. B durch A, und schlie₧lich X durch B. Um diese und ähnliche 
  1338. Operationen zu vereinfachen und beschleunigen, wurde die Option (!EM)Mehrfach(!em) 
  1339. eingeführt. Sie beachtet die Optionen (!EM)Einzelwort(!em), (!EM)Gro₧/Klein 
  1340. ignorieren(!em) sowie (!EM)Fragen(!em). Vor dem Start des Ersetzens erscheint 
  1341. zusätzlich folgender Dialog:
  1342.  
  1343. !begin_center
  1344. (!IMAGE [Images/clixmult])
  1345. !end_center
  1346.  
  1347. In dem Eingabefeld kann man nochmals die Such- und Ersetzungsbegriffe ansehen 
  1348. und verändern. Im unteren Teil kann man sechs Indexpaare der gewünschten 
  1349. Begriffe in der Form (!EM)Suchindex -> Ersetzungsindex(!em) eingeben. 
  1350. Leere Paare werden übersprungen. Erst wird die linke, dann die rechte Spalte 
  1351. abgearbeitet --- die Spalten wiederum zeilenweise von oben nach unten. Im 
  1352. obigen Beispiel wäre also (mit 0=A, 1=B, 2=X) folgendes einzugeben: 
  1353. (!EM)0 -> 2, 1 -> 0, 2 -> 1(!em).
  1354.  
  1355. !subnode Suchen und Ersetzen in Dateien
  1356.  
  1357. !index Dateilisten
  1358. !label FileReplace
  1359. Um z.B. in grö₧eren Programmier- oder (!TeX)-Projekten, die aus vielen Dateien
  1360. bestehen, komfortabel das Vorkommen bestimmter Begriffe finden oder globale 
  1361. Ersetzungen durchführen zu können, kann Clix diese Operationen auch auf 
  1362. Dateien durchführen. Dazu wird eine Dateiliste benötigt --- das ist ein Text, 
  1363. der zeilenweise ausschlie₧lich Dateinamen enthält. Solch eine Liste ist 
  1364. leicht zu erzeugen, indem man einen neuen Text anlegt und mittels 
  1365. (!EM)Edit/Dateinamen einfügen(!em) die gewünschten
  1366. Dateinamen in den Text einflie₧en lä₧t. Es wird immer der oberste Text als 
  1367. Dateiliste verwendet.
  1368.  
  1369. Clix bearbeitet nur die Dateien, deren Namen direkt am Zeilenanfang beginnen.
  1370. Bereits abgearbeitete Dateien werden um eine Tabulatorposition eingerückt,
  1371. so da₧ bei einem etappenweisen Vorgehen nicht dieselben ersten paar Dateien
  1372. immer wieder von neuem bearbeitet werden.
  1373.  
  1374. Um alle Dateien wieder von neuem zu aktivieren, bietet es sich an, mittels
  1375. (!EM)Block/Markiere alles(!em) den Text zu markieren und mit (!KEY)Alternate <(!key)
  1376. wieder nach links auszurücken.
  1377.  
  1378.  
  1379. !index Suchen !! in Dateien
  1380. Au₧er der Dateiliste benötigt man zum Suchen noch
  1381. möglichst viele unbenutzte Texte, d.h. vor dem Starten der Aktion sollten 
  1382. möglichst wenige Texte geöffnet sein. Clix lädt nun nacheinander die in der 
  1383. Liste gefundenen Dateien. Texte, in denen der Suchbegriff nicht gefunden 
  1384. wurde, werden sofort wieder aus dem Speicher entfernt. Die Operation bricht 
  1385. ab, wenn keine Texte bzw. AES-Fenster mehr frei sind oder wenn die Liste 
  1386. komplett abgearbeitet wurde. Konnte die Liste nicht komplett verarbeitet 
  1387. werden, kann man nach Entfernen einiger Texte aus dem Speicher mit derselben 
  1388. Liste fortfahren, um auch die restlichen Dateien zu durchsuchen.
  1389.  
  1390.  
  1391. !index Ersetzen !! in Dateien
  1392. Au₧er der Dateiliste benötigt man zum Ersetzen
  1393. noch einen unbenutzten Text. Die Dateien werden sukzessive geladen und die
  1394. Ersetzungen durchgeführt. Wurde (!EM)Fragen(!em) aktiviert, wird am Ende eines
  1395. Textes zusätzlich nachgefragt, ob er abgespeichert werden soll --- ist
  1396. (!EM)Fragen(!em) jedoch inaktiv, so wird ohne Nachfrage ersetzt und abgespeichert.
  1397.  
  1398.  
  1399. Noch einige Hinweise zu diesen doch recht komplexen Funktionen:
  1400. !begin_itemize
  1401. !item  Die Kombination mehrfaches Ersetzen auf Dateien ohne Nachfrage eignet
  1402.       sich besonders zu schnellen globalen Änderungen an einem Projekt.
  1403. !item  !.. oder zur globalen Verunstaltung desselben. Prüfen Sie daher
  1404.       sorgfältig Ihre Ersetzungspaare und deren Reihenfolge, damit nicht
  1405.       durch eine Flüchtigkeit ein --- dann ebenfalls globaler --- Fehler
  1406.       entsteht.
  1407. !item  die Texte, in denen der Suchbegriff nicht gefunden wurde sowie
  1408.       sämtliche beim Ersetzen geladenen Texte werden nicht in die Liste der
  1409.       letzten 10 Dateien übernommen.
  1410. !item  der Vorgang lä₧t sich durch Drücken von (!KEY)Shift(!key) oder (!KEY)Control(!key)
  1411.       unterbrechen.
  1412. !end_itemize
  1413.  
  1414.  
  1415. #}}}
  1416.  
  1417. #*****************************************************************
  1418. !newpage
  1419. !node Blockoperationen
  1420. #{{{
  1421. Um Textblöcke manipulieren zu können, existiert ein spezieller Blockpuffer, 
  1422. dessen Grö₧e über den Dialog (!EM)Optionen/Allg. Optionen...(!em) 
  1423. festgelegt werden kann. Um eine unnötige Speicherfragmentierung zu 
  1424. vermeiden, ist dies nur möglich, wenn keine Texte geladen sind. Im 
  1425. Blockpuffer werden beispielsweise gelöschte Textblöcke gesichert, um diese 
  1426. bei Bedarf restaurieren zu können. Folgende Operationen beeinflussen bzw. 
  1427. nutzen diesen Puffer: (!EM)Block ausschneiden(!em), (!EM)Block merken(!em), (!EM)Block 
  1428. an Puffer anhängen(!em), (!EM)Block aus Puffer einfügen(!em), (!EM)Block
  1429. kopieren(!em) 
  1430. und (!EM)Block verschieben(!em).
  1431.  
  1432. !index Klemmbrett
  1433. Alternativ lä₧t sich statt des internen Blockpuffers das sogenannte 
  1434. GEM-Klemmbrett verwenden (das GEM-Klemmbrett ist ein Ordner, dessen Pfad 
  1435. von GEM verwaltet wird --- meistens C:\CLIPBRD\; ist kein solcher
  1436. Ordner vorhanden, legt Clix ihn an, und als Blockpuffer wird die Datei 
  1437. (!REF)SCRAP.TXT(!ref) im Klemmbrettordner verwendet). Zwischen den beiden
  1438. Möglichkeiten wird über (!KEY)Shift Control G(!key) oder den Menüpunkt
  1439. (!EM)Block/Verwenden(!em) umgeschaltet. Ist das Klemmbrett aktiv, so erscheint in 
  1440. der Menüleiste das Zeichen ""C"". Ist der Blockspeicher für die Operationen 
  1441. Merken, Kopieren oder Verschieben nicht gro₧ genug, so wird automatisch auf 
  1442. das Klemmbrett umgeschaltet.
  1443.  
  1444. Ist das Clipboard-Accessory von Dieter und Jürgen Gei₧ angemeldet, so kann 
  1445. man sich den Inhalt des Klemmbretts über den Menüpunkt (!EM)Block/Anzeigen(!em) 
  1446. anzeigen lassen. Dazu wird vom Accessory ein Fenster geöffnet, das den Inhalt 
  1447. des Klemmbretts enthält. Ist kein solches Accessory geladen, so erfolgt die 
  1448. Anzeige des Klemmbretts (SCRAP.TXT) in einem nicht editierbaren Fenster des 
  1449. Editors. Beim nächsten Ausschneiden eines genügend kleinen Textteils wird 
  1450. diese Option automatisch ausgeschaltet.
  1451.  
  1452. !subnode Block markieren
  1453.  
  1454. !index Block !! markieren
  1455. Ein Block lä₧t sich sowohl über die Maus als auch über die Tastatur 
  1456. markieren. Hält man die linke Maustaste gedrückt, so wird der überstrichene 
  1457. Text markiert. Die Anzeige der Markierung erfolgt durch Invertierung des 
  1458. entsprechenden Textbereiches. Überschreitet der Mauszeiger die Fenstergrenzen 
  1459. an irgendeiner Seite, so wird der Fensterausschnitt entsprechend verändert. 
  1460. Ein markierter Blockbereich lä₧t sich durch Gedrückthalten der rechten 
  1461. Maustaste oder der (!KEY)SHIFT(!key)-Taste erweitern. Wird die linke Maustaste
  1462. vor dem markierten Blockbereich gedrückt, so lä₧t sich der Blockanfang 
  1463. verändern. Befindet sich die Maus hinter der Blockmarkierung, so lä₧t sich 
  1464. das Blockende verschieben. Falls der Benutzer einen Doppelklick auf einen 
  1465. leeren Fensterbereich ausführt, so werden die Blockmarkierungen aufgehoben.
  1466.  
  1467. !index Spaltenblock
  1468. Neben der normalen Blockmarkierung, bei der der komplette Text zwischen dem 
  1469. Blockanfang und -ende markiert wird, steht ein sogenannter Spaltenblock zur 
  1470. Verfügung, der eine rechteckige Markierung von Textbereichen ermöglicht. Der 
  1471. Blockanfang ist dann der linke obere und das Blockende die rechte untere Ecke 
  1472. der Markierung. Die Erweiterung eines solchen Spaltenblocks geschieht analog 
  1473. zur normalen Blockmarkierung. (!KEY)Control F4(!key) bzw. der Menüpunkt
  1474. (!EM)Optionen/Spaltenblock(!em) schaltet zwischen den beiden Blocktypen um. 
  1475. Spaltenblöcke verhalten sich bei den Operationen Ausschneiden, Kopieren, 
  1476. Einfügen oder Drucken wie normale Blöcke. Auch das Verschieben eines 
  1477. Spaltenblocks innerhalb der Markierung ist möglich. Ist Spaltenblock aktiv, 
  1478. dann erscheint in der Menüleiste der Buchstabe ""S"".
  1479.  
  1480. Editiert man eine Zeile, so bleibt der markierte Block erhalten. Es wird 
  1481. jedoch dafür gesorgt, da₧ weder der Blockanfang noch das Blockende in der 
  1482. aktuellen Zeile liegen. Die Markierung wird gegebenenfalls verändert. Die 
  1483. editierte Zeile kann also nur komplett innerhalb oder komplett au₧erhalb der 
  1484. Blockmarkierung liegen.
  1485.  
  1486. !index Text !! markieren
  1487. (!KEY)Control A(!key) oder der Menüeintrag (!EM)Block/Alles(!em) markiert den gesamten
  1488. Text als Block.
  1489.  
  1490. (!KEY)Control B(!key) oder der Menüeintrag (!EM)Block/Anfang(!em) markiert ebenfalls
  1491. den Blockanfang.
  1492.  
  1493. (!KEY)Control K(!key) oder der Menüeintrag (!EM)Block/Ende(!em) markiert ebenfalls das
  1494. Ende eines Blocks.
  1495.  
  1496. (!KEY)Control H(!key) oder der Menüpunkt (!EM)Block/Aufheben(!em) hebt die aktuelle
  1497. Blockmarkierung wieder auf. Dies lä₧t sich auch durch einen Doppelklick auf
  1498. ein Leerzeichen im Text bewirken. Ist kein Block markiert, stellt
  1499. (!KEY)Control H(!key) den vorherigen Block wieder her, falls möglich.
  1500.  
  1501. (!KEY)Shift Control H(!key) hebt die Blockmarkierung auf jeden Fall auf, sie ist
  1502. dann auch nicht mit (!KEY)Control H(!key) wiederherstellbar.
  1503.  
  1504. !subnode Klammerung oder Wort markieren
  1505.  
  1506. !index Wort !! markieren
  1507. Ein Doppelklick auf eine Klammer (öffnend oder schlie₧end) oder (!KEY)Control
  1508. M(!key) bzw. der Menüeintrag (!EM)Block/Wort(!em) markiert den eingeklammerten
  1509. Textbereich als Block. Dabei wird die logische Klammerhierarchie 
  1510. berücksichtigt. Über den Dialog (!EM)Optionen/Sonderzeichen...(!em) lassen 
  1511. sich maximal sechs Sequenzen als Klammersymbole anmelden. Auch eine mehrfache 
  1512. Verschachtelung von Klammern wird richtig markiert.
  1513.  
  1514. Befindet sich unter dem Cursor bzw. Mauszeiger weder eine öffnende, noch 
  1515. eine schlie₧ende Klammer, so wird versucht, an der Stelle ein Wort zu 
  1516. markieren, das aus Buchstaben, Ziffern und dem Unterstrich bestehen darf. Ist 
  1517. auch dies nicht möglich, so wird das Zeichen unter dem Cursor markiert.
  1518.  
  1519. Hält man beim Doppelklick auf ein Wort bzw. eine Klammer die 
  1520. (!KEY)Control(!key)-Taste gedrückt, so wird der markierte Block an die aktuelle
  1521. Cursorposition kopiert. Drückt man (!KEY)Alternate(!key), so wird der markierte
  1522. Block verschoben.
  1523.  
  1524. !subnode Cursor-Positionierung
  1525.  
  1526. !index Springen !! zum Blockanfang und -ende
  1527. (!KEY)Alternate B(!key) setzt den Cursor an den Anfang des Blocks. Ist kein Block
  1528. markiert, so wird der Cursor an den Anfang des Dokumentes bewegt.
  1529.  
  1530. (!KEY)Alternate K(!key) setzt den Cursor an das Ende des Blocks. Ist kein Block
  1531. markiert, so wird der Cursor an den Anfang des Dokumentes bewegt.
  1532.  
  1533. !subnode Block wandeln
  1534.  
  1535. !index Block !! wandeln
  1536. (!KEY)Control Alternate - (Ziffernblock)(!key) verwandelt alle Zeichen des Blocks
  1537. in Kleinschrift. Ist kein Block markiert, so wird vorher versucht, an der 
  1538. aktuellen Cursor-Position ein Wort oder eine Klammerung zu markieren.
  1539.  
  1540. (!KEY)Control Alternate + (Ziffernblock)(!key) verwandelt alle Zeichen des Blocks
  1541. in Gro₧schrift. Ist kein Block markiert, so wird vorher versucht, an der 
  1542. aktuellen Cursor-Position ein Wort oder eine Klammerung zu markieren. 
  1543.  
  1544.  
  1545. !subnode Block kopieren
  1546.  
  1547. !index Block !! kopieren
  1548. !index Kopieren !! Block
  1549. (!KEY)Alternate C(!key) oder der Menüeintrag (!EM)Block/Kopieren(!em) kopiert den
  1550. markierten Block an die aktuelle Cursorposition. Dies funktioniert auch 
  1551. textübergreifend, d.h. man kann über diese Operation Textauschnitte von 
  1552. einem Text in einen anderen übernehmen.
  1553.  
  1554. !subnode Block verschieben
  1555.  
  1556. !index Verschieben !! Block
  1557. !index Block !! verschieben
  1558. !index Einrücken !! Block
  1559. !index Block !! einrücken
  1560.  
  1561. (!KEY)Alternate V(!key) oder der Menüeintrag (!EM)Block/Verschieben(!em) verschiebt den
  1562. markierten Block an die aktuelle Cursorposition. Dies funktioniert ebenfalls
  1563. textübergreifend.
  1564.  
  1565. !label BlockSchieben
  1566. (!KEY)Control Alternate <(!key) bzw.
  1567.  (!KEY)Shift Control Alternate <(!key) verschiebt einen markierten Block in horizontaler Richtung um
  1568. eine Tabulatorweite nach links bzw. rechts. Dazu werden ggf. vorher die
  1569. Blockgrenzen auf die Zeilenanfänge gesetzt.
  1570.  
  1571. !subnode Block ausschneiden
  1572.  
  1573. !index Block !! ausschneiden
  1574. (!KEY)Control X(!key), (!KEY)Alternate Y(!key) oder der Menüeintrag
  1575. (!EM)Block/Ausschneiden(!em) entfernt den markierten Block aus dem Text, nachdem
  1576. er in den globalen Blockpuffer übernommen wurde. Der gelöschte Block kann
  1577. über die Operation (!EM)Block aus Puffer einfügen(!em) ((!KEY)Control V(!key))
  1578. wiederhergestellt werden.
  1579.  
  1580. !subnode Block löschen
  1581.  
  1582. !index Block !! löschen
  1583. !index Löschen !! Block
  1584. (!KEY)Control Alternate X(!key) löscht den markierten Block. Der gelöschte Text
  1585. wird (!B)nicht(!b) in den globalen Blockpuffer übernommen und kann daher nicht
  1586. mehr wiederhergestellt werden.
  1587.  
  1588. !subnode Block merken
  1589.  
  1590. !index Block !! merken
  1591. (!KEY)Control C(!key) bzw. der Menüpunkt (!EM)Block/Merken(!em) speichert den
  1592. markierten Block im globalen Blockpuffer bzw. sichert ihn auf dem 
  1593. GEM-Klemmbrett.
  1594.  
  1595. Die Standardkommandos (!KEY)Control X/C/V(!key) hei₧en üblicherweise
  1596. (!EM)Ausschneiden(!em), (!EM)Kopieren(!em) und (!EM)Einsetzen(!em). Clix nennt dieses 
  1597. (!EM)Kopieren(!em) allerdings (!EM)Merken(!em), um Verwechslungen mit der komfortablen 
  1598. zusammengesetzten Operation (!EM)Kopieren(!em) = (!EM)Merken(!em) + 
  1599. (!EM)Einsetzen(!em)
  1600. zu vermeiden, die auch verfügbar ist. (!EM)Verschieben(!em) entspricht übrigens
  1601. (!EM)Ausschneiden(!em) + (!EM)Einsetzen(!em).
  1602.  
  1603. !subnode Block an Puffer anhängen
  1604.  
  1605. (!KEY)Shift Control C(!key) oder der Menüpunkt (!EM)Block/Anhängen(!em) hängt den gerade
  1606. definierten Block an den Blockpuffer bzw. das GEM-Klemmbrett an.
  1607.  
  1608. !subnode Block aus Puffer einsetzen
  1609.  
  1610. !index Block !! einsetzen
  1611. (!KEY)Control V(!key) bzw. der Menüpunkt (!EM)Block/Einsetzen(!em) fügt den Inhalt des
  1612. globalen Blockpuffers bzw. den des GEM-Klemmbrettes an der aktuellen
  1613. Cursorposition ein.
  1614.  
  1615. !subnode Block als Suchbegriff übernehmen
  1616.  
  1617. !index Suchen !! Block
  1618. (!KEY)Alternate M(!key) übernimmt den markierten Block als Suchbegriff für das
  1619. Kommando (!EM)Suchen(!em). Da die Länge des Suchbegriffes begrenzt ist, wird der
  1620. Rest abgeschnitten, falls der markierte Block zu lang ist.
  1621.  
  1622. !subnode Block als Ersetzungsbegriff übernehmen
  1623.  
  1624. !index Ersetzen !! durch Block
  1625. (!KEY)Shift Alternate M(!key) übernimmt den markierten Block als
  1626. Ersetzungsbegriff für das Kommando (!EM)Ersetzen(!em). Da die Länge des
  1627. Ersetzungsbegriffes begrenzt ist, wird der Rest abgeschnitten, falls der 
  1628. markierte Block zu lang ist.
  1629.  
  1630. !subnode Block auskommentieren
  1631.  
  1632. !index Block !! auskommentieren
  1633. (!KEY)Control Alternate H(!key) kommentiert einen markierten Block aus. Als
  1634. Kommentarzeichen werden die über den Dialog 
  1635. (!EM)Optionen/Sonderzeichen...(!em) ausgewählten Symbole verwendet. Falls der
  1636. Block bereits auskommentiert war, werden die Kommentarzeichen wieder 
  1637. entfernt.
  1638.  
  1639. !subnode Block laden
  1640.  
  1641. !index Block !! laden
  1642. (!KEY)Shift Alternate V(!key) liest eine über eine Dateiauswahlbox spezifizierte
  1643. ASCII-Datei an der Cursorposition ein und markiert sie als Block.
  1644.  
  1645. !subnode Block speichern
  1646.  
  1647. !index Block !! speichern
  1648. (!KEY)Shift Alternate C(!key) speichert einen markierten Block als ASCII-Datei ab.
  1649. Der Name wird über eine Dateiauswahlbox spezifiziert.
  1650.  
  1651. !subnode Block wegfalten
  1652.  
  1653. !index Block !! wegfalten
  1654. !index Faltung !! von Blöcken
  1655. (!KEY)Control J(!key) faltet einen markierten Block ein(!N)Aus technischen
  1656. Gründen wird dabei ggf. die Markierung so verkleinert, da₧ sich keine 
  1657. Leerzeilen mehr am Anfang oder Ende des Blocks befinden.(!n) bzw. aus. Dies
  1658. bedeutet, da₧ nur noch seine erste Zeile zu sehen ist, der Rest bleibt 
  1659. verborgen und wird durch eine gepunktete Linie angedeutet. Diese Zeile ist 
  1660. nicht editierbar (und kann auch nur als Ganzes als Block markiert werden), 
  1661. da sie ja einen ganzen Block repräsentiert. Für Änderungen mu₧ der Block 
  1662. wieder aufgeklappt werden. Steht der Cursor über einer Blockfaltung, so kann 
  1663. diese durch (!KEY)Control J(!key) aufgehoben werden.
  1664.  
  1665. Durch diese Möglichkeit kann man in einem Dokument etwa Kapitel, Prozeduren
  1666. oder (!TeX)-(!V)\section(!v)s verbergen, und es ist nur noch die Struktur des
  1667. Dokuments sichtbar. Nur die Stellen, an denen man arbeiten möchte, klappt man
  1668. jeweils auf.
  1669.  
  1670. Gefaltete Blöcke können auch zur Einschränkung des Suchbereichs verwendet
  1671. werden.
  1672.  
  1673. Die Faltung eines Blocks gilt nicht als Änderung eines Textes und kann daher 
  1674. auch in einem (!EM)nicht editierbaren(!em) Dokument und dem Manual-Fenster
  1675. erfolgen.
  1676.  
  1677. !subnode Block aufklappen
  1678.  
  1679. !index Block !! aufklappen
  1680. (!KEY)Control J(!key) oder ein Doppelklick auf die Kopfzeile eines gefalteten
  1681. Blocks klappt diesen wieder aus; anschlie₧end ist der aufgeklappte Bereich 
  1682. markiert, kann also mit (!KEY)Control J(!key) sofort wieder eingeklappt werden.
  1683.  
  1684. (!KEY)Shift Control J(!key) klappt alle eingeklappten Blöcke auf.
  1685.  
  1686. Wird ein gefalteter Block automatisch aufgeklappt, z.B. durch den Sprung auf 
  1687. eine Zeile mit (!EM)Blockfaltung ignorieren(!em), so kann mit (!KEY)Control H(!key) der
  1688. aufgeklappte Bereich wieder markiert werden.
  1689.  
  1690.  
  1691. #}}}
  1692.  
  1693. #*****************************************************************
  1694. !newpage
  1695. !node Einrücken
  1696. #{{{
  1697. (!T)Clix(!t) bietet verschiedene Möglichkeiten, einzelne Zeilen oder ganze Blöcke 
  1698. horizontal zu verschieben und um den Cursor beim Einfügen einer neuen Zeile
  1699. automatisch an eine bestimmte Stelle zu setzen.
  1700.  
  1701. Soll der Cursor beim Einfügen einer neuen Zeile automatisch 
  1702. unter das erste Zeichen der vorhergehenden Zeile gesetzt werden,
  1703. so aktiviert man (!EM)Automatisches Einrücken(!em) unter den Textoptionen.
  1704.  
  1705. Daneben gibt es noch eine weitere Möglichkeit, automatisch einzurücken: das
  1706. ""intelligente Einrücken"".
  1707.  
  1708. !label indentation
  1709. !index CLIX.IND 
  1710. !index Einrücken !! intelligentes
  1711. !index Intelligentes Einrücken
  1712.  
  1713. In der Datei (!REF)CLIX.IND(!ref) befinden sich Definitionen von Schlüsselwörtern
  1714. für ""intelligentes Einrücken"" (indentation = [engl.] Einrückung).
  1715.  
  1716. Die Datei (!REF)CLIX.IND(!ref) wird im aktuellen Pfad von (!T)Clix(!t) bzw. in dem Pfad,
  1717. der über die Environment-Variablen (!REF)CLIXPAR(!ref) oder (!REF)CLIX(!ref) definiert
  1718. ist, geladen.
  1719.  
  1720. Jede Zeile definiert ein Schlüsselwort samt Einrückverhalten bei der Eingabe 
  1721. von (!KEY)RETURN(!key), (!KEY)ENTER(!key) oder (!KEY)INSERT(!key) und startet mit
  1722.  
  1723. !begin_table [ll]
  1724.   (!V)->(!v) !! Folgezeile nach rechts rücken,
  1725.   (!V)<-(!v) !! diese Zeile zur voranstehenden Zeile nach links rücken,
  1726.   (!V)<>(!v) !! diese Zeile nach links rücken (!B)und(!b) Folgezeile nach rechts rücken,
  1727. !end_table
  1728.  
  1729. gefolgt vom Schlüsselwort.
  1730.  
  1731. Enthält die Datei (!REF)CLIX.IND(!ref) z.B. folgende Zeilen
  1732.  
  1733. !begin_verbatim
  1734. -> BEGIN
  1735. -> DEFINITION
  1736. -> CONST
  1737. -> FOR
  1738. -> IF
  1739. -> IMPLEMENTATION
  1740. -> LOOP
  1741. -> MODULE
  1742. -> RECORD
  1743. -> REPEAT
  1744. -> TYPE
  1745. -> VAR
  1746. -> WHILE
  1747. -> WITH
  1748. <> ELSE
  1749. <> ELSIF
  1750. <- END
  1751. <- UNTIL
  1752. !end_verbatim
  1753.  
  1754.  
  1755. so führt dies bei der Eingabe von Modula-2-Quelltexten zu Einrückungen
  1756. in der Form
  1757.  
  1758. !begin_verbatim
  1759.         IF Bedingung THEN
  1760.           ...
  1761.         ELSIF bedingung THEN
  1762.           ...
  1763.         ELSE
  1764.           ...
  1765.         END
  1766. !end_verbatim
  1767.  
  1768. und analog für REPEAT-UNTIL, WHILE-END usw.
  1769.  
  1770. Die Datei wird jeweils beim Starten von (!T)Clix(!t) geladen. Man kann ihren Inhalt 
  1771. im Dialog (!EM)Text-Optionen(!em) über den Knopf (!EM)Einrückungen(!em) kontrollieren.
  1772.  
  1773. Ist ein intelligentes Einrücken nicht erwünscht, kann man eine leere Datei 
  1774. (!REF)CLIX.IND(!ref) hinterlegen oder die Datei (!REF)CLIX.IND(!ref) löschen;
  1775. eine Fehlermeldung von (!T)Clix(!t) erfolgt hierbei nicht.
  1776.  
  1777. #}}}
  1778.  
  1779. #*****************************************************************
  1780. !newpage
  1781. !node Makros
  1782. #{{{
  1783. Clix unterstützt drei verschiedene Arten von Makros, nämlich Text-,
  1784. Tastatur- und makros.
  1785.  
  1786. !index Makrodatei
  1787. (!KEY)Alternate F5(!key) oder der Menüpunkt (!EM)Edit/Lesen-Sichern(!em) lädt bzw.
  1788. speichert die Makrodefinitionen. Es erscheint eine Dialogbox, über die man
  1789. auswählen kann, ob man die definierten Makros speichern oder eine andere
  1790. Makrodefinition laden will. Bei Start von Clix wird versucht, die
  1791. zuletzt benutzte Makrodatei wieder einzulesen.
  1792.  
  1793. Das Utility (!T)MAK.TTP(!t) ist in der Lage, den Inhalt einer solchen Makrodatei
  1794. anzuzeigen.
  1795. #}}}
  1796.  
  1797. !subnode Textmakros
  1798. #{{{
  1799. !index Makro !! Text
  1800. Textmakros bieten die Möglichkeit, häufig benötigte Zeichenfolgen per Taste 
  1801. automatisch in den laufenden Text einfügen zu lassen. Daher werden sie auch 
  1802. häufig Floskeln
  1803. !index Floskeln
  1804. genannt. Ein definierter Block kann über 
  1805. (!KEY)F5(!key) oder den Menüpunkt (!EM)Edit/Definieren(!em) als Textmakro übernommen
  1806. werden. Jedem Makro ist ein bestimmtes Zeichen zugeordnet, über das es 
  1807. aufgerufen werden kann. Mit (!KEY)Esc(!key), gefolgt von diesem Zeichen, wird der
  1808. zugehörige Makrotext an der Cursorposition eingefügt.
  1809.  
  1810. Eine Sonderstellung nimmt das Zeichen (!Delta) sowie einige $-Sequenzen
  1811. ein. Die Eingabe dieses Zeichens kann über den Sonderzeichendialog oder den 
  1812. Ziffernblock bei gedrückter (!KEY)Alternate(!key)-Taste erfolgen (ASCII 127). Es
  1813. symbolisiert innerhalb eines Textmakros die Position des Cursors nach 
  1814. Einfügen des Makrotextes. Hat man beispielsweise (!T)IF (!Delta) THEN(!t) als
  1815. Textmakro definiert, so wird (!T)IF  THEN(!t) in den Text eingefügt. Der Cursor
  1816. steht dann zwischen (!T)IF(!t) und (!T)THEN(!t).
  1817.  
  1818. Folgende $-Sequenzen werden innerhalb eines Textmakros expandiert:
  1819.  
  1820. !begin_center
  1821. !begin_table [|c|l|]
  1822. !hline
  1823. $H !! Stunden (2-stellig)
  1824. $M !! Minuten (2-stellig)
  1825. $S !! Sekunden (2-stellig)
  1826. !hline
  1827. $d !! Tag (2-stellig)
  1828. $m !! Monat (2-stellig)
  1829. $y !! Jahreszahl (2-stellig)
  1830. $Y !! Jahreszahl (4-stellig)
  1831. !hline
  1832. $B !! Zeichen links der Cursorposition löschen (Backspace)
  1833. $D !! Zeichen an Cursorposition löschen (Delete)
  1834. $C !! Cursorposition nach Ausführung des Makros (enspricht (!Delta))
  1835. $$ !! Dollarzeichen ($)
  1836. !hline
  1837. !end_table
  1838. !end_center
  1839.  
  1840. Ist kein Block markiert, so hat man über (!KEY)F5(!key) oder den Menüpunkt
  1841. (!EM)Edit/Löschen(!em) die Möglichkeit, ein definiertes Makro zu löschen.
  1842. #}}}
  1843.  
  1844. !subnode Tastaturmakros
  1845. #{{{
  1846. !index Makro !! Tastatur
  1847. Um eine Folge von Tastatureingaben als Makro zusammenzufassen, bedient man
  1848. sich eines Tastaturmakros. Die Definition eines solchen Makros wird über
  1849. (!KEY)Control Esc(!key) eingeleitet. Den Lernmodus erkennt man daran, da₧ die Maus
  1850. als Biene dargestellt wird, der Cursor nicht blinkt und ein ""M"" in der
  1851. Menüleiste erscheint. Die jetzt eingegebene Tastenfolge wird solange
  1852. aufgezeichnet, bis entweder der Makrospeicher voll ist, oder die
  1853. Makrodefinition über (!KEY)Control Esc(!key) beendet wurde. Eine aufgezeichnete
  1854. Sequenz kann über (!KEY)Alternate Esc(!key) aktiviert werden. Sie wird nicht in
  1855. der Makrodatei gesichert, dazu ist sie einer Taste zuzuordnen (s.u.). Wurde
  1856. zum Beispiel folgendes Makro definiert,
  1857.  
  1858. (!V)      Control Esc , Shift Rechts , F2 , Cursor Ab , Control Esc (!v)
  1859.  
  1860. so wird beim Aufruf das letzte Wort einer Zeile gelöscht und der Cursor um 
  1861. eine Zeile nach unten gesetzt, ohne da₧ eine Dialogbox geöffnet wird. 
  1862. Innerhalb von Tastaturmakros sind übrigens auch Textmakros möglich.
  1863.  
  1864. Mit (!KEY)Shift F5(!key) oder dem Menüpunkt (!EM)Edit/Tastenmakro(!em) kann ein
  1865. solcherma₧en aufgenommenes Makro einer beliebige Taste (samt 
  1866. Sondertastenstatus) zugeordnet werden, oder eine solche Zuweisung 
  1867. aufgehoben und damit das Makro gelöscht werden. Es werden nur Makros, die 
  1868. einer Taste zugewiesen sind, in der Makrodatei gesichert
  1869.  
  1870. Mit dieser Zuweisung kann man auch vorgegebene Funktionen überdecken, wie 
  1871. z.B. (!KEY)Alternate H(!key). Dies ist sinnvoll, wenn man die originale Funktion
  1872. nie oder nur selten benötigt. Um sie dennoch zu erreichen, ist zuvor 
  1873. (!KEY)Shift Esc(!key) zu drücken. (!KEY)Shift Esc -- Alternate H(!key) kommentiert also
  1874. (!EM)immer(!em) eine Zeile ein.
  1875.  
  1876. Durch die Überladung von Bedeutungen besteht die Gefahr, aus Versehen
  1877. rekursive Makros zu definieren. Definiert man einen Tastaturmakro, werden
  1878. deshalb definierte Makros (!EM)nicht(!em) expandiert, d.h. es wird immer die
  1879. Originalfunktion ausgeführt. Wünscht man den Aufruf eines anderen Makros
  1880. tatsächlich, so wirkt (!KEY)Shift Esc(!key) hier im umgekehrten Sinne: (!KEY)Shift
  1881. Esc -- Alternate H(!key) während der Makroeingabe versucht also, einen der
  1882. Tastenkombination (!KEY)Alternate H(!key) zugewiesenen Makro
  1883. auszuführen. Damit sind also auch rekursive Makros möglich, das
  1884. hei₧t solche, die sich selbst aufrufen. Die Rekursionstiefe ist hier zur
  1885. Sicherheit auf 20 begrenzt! Dialoge können mit Tastenmakros nicht gesteuert 
  1886. werden.
  1887.  
  1888.  
  1889. #}}}
  1890.  
  1891. !subnode Extension-Makros
  1892. #{{{
  1893. !ifdest [stg]
  1894.   @alabel QED-Makros
  1895. !endif
  1896. Vom Editor (!link [QED] [aip.hyp/QED]) her sind auch Makros bekannt, die 
  1897. durch Expansion des vor dem Cursor stehenden Wortes gebildet werden. 
  1898. Damit sind aussagekräftige und umfangreiche Makrodefinitionen möglich, 
  1899. da das zu expandierende Wort natürlich einfacher verständlich ist, als 
  1900. ein einfaches Tastenmakro.
  1901.  
  1902. Dieses Prinzip findet auch in Clix Anwendung. Die Makros werden in der 
  1903. Extension-Datei definiert.
  1904.  
  1905. Entsprechende Makros werden einfach per (!KEY)Alt Space(!key) expandiert.
  1906.  
  1907. Um dies auszuprobieren, sollten Sie einfach die Datei (!T)Readme.1st(!t) 
  1908. laden und durchlesen.
  1909. #}}}
  1910.  
  1911.  
  1912.  
  1913. #*****************************************************************
  1914. !newpage
  1915. !node Sonstige Funktionen
  1916. #{{{
  1917. !subnode Bildschirm-Redraw
  1918.  
  1919. (!KEY)Control Home(!key) führt einen kompletten Redraw des Bildschirms
  1920. durch.
  1921. !subnode Clix verlassen
  1922.  
  1923. !label savetext
  1924. (!KEY)Control Q(!key) oder der Menüpunkt (!EM)Datei/Beenden(!em) verlä₧t Clix. Dazu
  1925. werden alle Fenster geschlossen. Befinden sich noch ungesicherte Texte im 
  1926. Speicher und ist die Option (!EM)Texte automatisch sichern(!em) nicht aktiv, so erscheint
  1927. ein Dialog, in dem die Pfade der entsprechenden Dateien angezeigt werden.
  1928.  
  1929. !begin_center
  1930. (!IMAGE [Images/clixsave])
  1931. !end_center
  1932.  
  1933. Nun kann man für jede Datei entscheiden, ob sie vor dem Programmende 
  1934. gesichert werden soll. Der Button (!EM)Keinen(!em) beendet (!EM)Clix(!em) ohne
  1935. jegliche Sicherung. (!EM)OK(!em) sichert die ausgewählten Dateien und
  1936. (!KEY)Abbruch(!key) bricht den Vorgang ab.
  1937.  
  1938. Beim Verlassen werden die meisten Parameter und Optionen in der 
  1939. Parameterdatei (!REF)CLIX.PAR(!ref) gesichert.
  1940.  
  1941. !index CLIX.PAR
  1942. (!KEY)Shift Control Q(!key) bzw. der Menüpunkt (!EM)Datei/Abbrechen(!em) verlä₧t den
  1943. Editor, wie (!KEY)Control Q(!key), jedoch ohne die Parameterdatei (!REF)CLIX.PAR(!ref) zu
  1944. aktualisieren.
  1945.  
  1946. !subnode Drucken
  1947.  
  1948. !index Drucken
  1949. (!KEY)Control P(!key) bzw. der Menüpunkt (!EM)Datei/Drucken(!em) dient zum Ausdruck
  1950. eines markierten Blocks. Nach einer Sicherheitsabfrage wird der gesamte Block 
  1951. auf einem Drucker gedruckt. Dabei werden keinerlei Steuerzeichen ausgegeben 
  1952. oder irgendwelche Zeichen konvertiert.
  1953.  
  1954. (!KEY)Control Alternate P(!key) verhält sich wie (!KEY)Control P(!key), nur da₧ der
  1955. Ausdruck über einen externen Druckertreiber erfolgt, den man über den 
  1956. Pfadedialog anmelden mu₧. Die Kommunikation zwischen Clix und dem 
  1957. Druckertreiber erfolgt über einen speziellen Parameterblock, dessen Adresse beim Start über die Kommandozeile
  1958. mitgeteilt wird. Die im Kommandozeilendialog unter PRINT angegebene 
  1959. Kommandozeile wird angehängt.
  1960.  
  1961. !subnode Tabulatoren komprimieren/expandieren
  1962.  
  1963. !index Tabulatoren !! komprimieren
  1964. (!KEY)Alternate T(!key) bzw. der Menüpunkt (!EM)Edit/Komprimieren(!em) komprimiert die
  1965. im Text enthaltenen Leerzeichen in Tabulatoren.
  1966.  
  1967. !index Tabulatoren !! expandieren
  1968. (!KEY)Shift Alternate T(!key) bzw. der Menüpunkt (!EM)Edit/Komprimieren(!em) expandiert
  1969. die im Text enthaltenen Tabulatoren in Leerzeichen.
  1970.  
  1971. !subnode Textvergleich
  1972.  
  1973. !index Textvergleich
  1974.  
  1975. (!KEY)Alternate D(!key) bzw. der Menüpunkt (!EM)Edit/Textvergleich(!em) vergleicht zwei
  1976. geöffnete Texte ab der jeweiligen Cursorposition. In Abhängigkeit der 
  1977. allgemeinen Einstellung ""Vergleich berücksichtigt Formatierung"" wird das 
  1978. mehrfache Auftreten von Leerzeichen und Zeilenenden unterschieden oder nicht. 
  1979. Diese Operation ist nur ausführbar, wenn genau zwei Texte geöffnet sind.
  1980.  
  1981. Konnte bei einem Textvergleich kein Unterschied zwischen den beiden Texten 
  1982. festgestellt werden, so erscheint ein entsprechender Hinweis.
  1983.  
  1984. !subnode Redundanz
  1985.  
  1986. !index Redundanz
  1987. (!KEY)Alternate X(!key) bzw. der Menüpunkt (!EM)Edit/Redundanz(!em) entfernt im
  1988. aktuellen Text alle überflüssigen Leerzeichen am Ende einer Zeile.
  1989.  
  1990. (!EM)Achtung!(!em) Im Flie₧textmodus gehen dabei sämtliche weichen Zeilenenden
  1991. verloren.
  1992.  
  1993. !subnode Externe Programme starten
  1994.  
  1995. ##!index Programme starten|(
  1996. Aus Clix heraus kann man auf komfortabelste Weise Programme starten.
  1997.  
  1998. (!KEY)Alternate E(!key) bzw. der Menüeintrag (!EM)Tools/Start...(!em) dient zum
  1999. Start von Programmen. Über eine Dateiauswahlbox wird das
  2000. gewünschte Programm ausgewählt. Anschlie₧end kann man dem Programm über
  2001. folgenden Dialog noch Parameter übergeben.
  2002.  
  2003. !begin_center
  2004. (!IMAGE [Images/clixparm])
  2005. !end_center
  2006.  
  2007. Es stehen über zwanzig umschaltbare Kommandozeilen zur Verfügung, wobei bei
  2008. diesem Kommando immer die erste Kommandozeile (!REF)- - -(!ref) erscheint.
  2009.  
  2010. (!EM)GEM(!em) entscheidet darüber, ob es sich um ein GEM- oder ein TOS-Programm
  2011. handelt.
  2012.  
  2013. Wurde Clix über Hänisch Modula-2c oder die ClixShell (!EM)CS(!em) gestartet, so ist die
  2014. Option (!EM)END(!em) aktivierbar. Diese bewirkt, da₧ Clix verlassen wird. Somit
  2015. hat das zu startende Programm mehr Arbeitsspeicher zur Verfügung. Nachdem das 
  2016. nachgeladene Programm terminiert wurde, startet HMCache bzw. (!EM)CS(!em)
  2017. automatisch Clix wieder.
  2018.  
  2019. Die Option (!EM)Warten(!em) bewirkt, da₧ nach der Terminierung des nachgeladenen
  2020. Programms auf einen Tastendruck oder Mausklick gewartet wird, bevor man zu 
  2021. Clix zurückgelangt.
  2022.  
  2023.  
  2024.  
  2025. Um die Übernahme von Dateipfaden in die Kommandozeile zu erleichtern, stehen 
  2026. zwei weitere Buttons zur Verfügung. (!EM)Text(!em) fügt den Pfad der im
  2027. Vordergrund befindlichen Datei an der Cursorposition in die Kommandozeile 
  2028. ein. (!EM)Datei(!em) öffnet eine Dateiauswahlbox, über die eine Datei spezifiziert
  2029. werden kann, deren Pfad in die Kommandozeile eingefügt wird. Die Einfügung 
  2030. erfolgt jeweils an der aktuellen Cursor-Position.
  2031.  
  2032. !label CmdExp
  2033. Darüberhinaus stehen einige $-Sequenzen zur Verfügung, die auf folgende
  2034. Weise expandiert werden:
  2035.  
  2036. !begin_description
  2037. !item [$N]  kompletter Name der aktuellen Textdatei
  2038. !item [$P]  reiner Pfad der Textdatei
  2039. !item [$F]  Name der Textdatei (ohne Pfad)
  2040. !item [$B]  Basisname der Textdatei (ohne Extension)
  2041. !item [$E]  Extension der Textdatei
  2042. !item [$C]  Pfad und Name der Klemmbrett-Datei ohne Extension
  2043. !item [$$]  Dollarzeichen ($)
  2044. !end_description
  2045.  
  2046. Die Kommandozeile darf durch die Expandierung bis zu 255 Zeichen lang werden.
  2047.  
  2048. (!EM)OK(!em) verlä₧t den Dialog und übernimmt die eingegebene Kommandozeile für
  2049. das ausgewählte Programm, während (!EM)Start(!em) das Programm mit der
  2050. eingegebenen Kommandozeile startet.
  2051.  
  2052. Soll ein externes Programm gestartet werden und sind nicht gesicherte Texte 
  2053. vorhanden, so erscheint ein Dialog, in dem die Pfade der entsprechenden 
  2054. Dateien angezeigt werden. Nun kann man für
  2055. jede Datei entscheiden, ob sie vor dem Programmstart gesichert werden soll. 
  2056. Der Button (!EM)Keinen(!em) startet das Programm, ohne jegliche Sicherung. (!EM)OK(!em)
  2057. sichert die ausgewählten Dateien und (!EM)Abbruch(!em) bricht den Startvorgang
  2058. ab.
  2059.  
  2060. Es gibt noch eine weitere Möglichkeit, Programme zu starten. Man 
  2061. kann über (!KEY)Alternate P(!key) oder den Menüeintrag (!EM)Tools/Pfade...(!em)
  2062. einen Dialog öffnen und bis zu zwanzig Tools fest anmelden.
  2063.  
  2064. !begin_center
  2065. (!IMAGE [Images/clixpath])
  2066. !end_center
  2067.  
  2068. Links oben befindet sich ein editierbarer Name, der das angemeldete Programm 
  2069. repräsentiert und in der Menüleiste unter dem Titel (!EM)Tools(!em) erscheint.
  2070. Darunter wird der Zugriffspfad des Programms dargestellt. Links daneben 
  2071. befindet sich eine Pfeilbox, über die zwischen den einzelnen Tools 
  2072. umgeschaltet werden kann. Will man ein neues Programm anmelden, so öffnet man 
  2073. durch einen Einfachklick auf den Pfadeintrag oder (!KEY)Alternate P(!key) eine
  2074. Dateiauswahlbox, über die man das Tool auswählen kann. Die Abmeldung eines 
  2075. Utilities geschieht über einen Leereintrag im Namensfeld. Für jedes Programm 
  2076. lassen sich acht Optionen setzen:
  2077.  
  2078. (!EM)GEM-Applikation(!em) zeigt an, ob es sich bei dem Tool um ein GEM- oder
  2079. TOS-Programm handelt.
  2080.  
  2081. (!EM)nach Ausführung warten(!em) bewirkt, da₧ nach der Ausführung des Tools auf
  2082. einen Tastendruck oder Mausklick gewartet wird, bevor man zu Clix
  2083. zurückgelangt.
  2084.  
  2085. Ist die Option (!EM)Clix beenden(!em) aktiv, so wird Clix vor dem Start des
  2086. Tools beendet. Dies ist jedoch nur möglich, falls der HMCache oder CS aktiv
  2087. ist. Dieser startet nach Beendigung des Tools Clix neu.
  2088.  
  2089. (!EM)Bearbeitet Text(!em) dient zur Unterstützung von Programmen, die den im
  2090. Vordergrund befindlichen Text verändern sollen. Dazu wird der aktuelle Text 
  2091. abgespeichert und sein Zugriffspfad als Kommandozeile übergeben. Dies ist 
  2092. jedoch nur dann der Fall, wenn bei den Kommandozeilenoptionen (!EM)Nein(!em)
  2093. gewählt wurde. Besonders interessant ist diese Option im Zusammenhang mit 
  2094. der Expandierung von $-Sequenzen in der Kommandozeile. Auf diese Weise kann man externen Tools beliebige
  2095. Optionen übergeben, ohne ständig die entsprechende Kommandozeile editieren 
  2096. zu müssen. 
  2097.  
  2098. Über (!EM)HMC-Speicher freigeben(!em) lä₧t sich zusätzlich noch der Puffer des
  2099. HMCache freigeben.
  2100.  
  2101. (!EM)Fenster offen lassen(!em) ermöglicht es, beim Start eines Utilities, die
  2102. Fenster des Editor geöffnet zu lassen. Diese Option macht vor allem bei
  2103. Programmen Sinn, die keine Redraws erzeugen.
  2104.  
  2105. (!EM)Textspeicher freigeben(!em) hat zur Folge, da₧ vor dem Start des Programms
  2106. der Textspeicher von Clix freigegeben wird, nachdem die Texte gesichert
  2107. wurden.
  2108.  
  2109. (!EM)Aktuellen Text überladen(!em) führt dazu, da₧ nach der Terminierung des Tools
  2110. der aktuelle Text neu geladen wird.
  2111.  
  2112. Au₧erdem kann für jedes Programm festgelegt werden, ob eine Kommandozeile
  2113. übergeben werden soll.
  2114.  
  2115. (!EM)Nein(!em) bewirkt, da₧ das angemeldete Programm ohne Kommandozeile gestartet
  2116. wird.
  2117.  
  2118. Ist (!EM)Ja(!em) gesetzt, so wird vor dem Programmstart der Kommandozeilendialog
  2119. aufgerufen.
  2120.  
  2121. (!EM)Fest(!em) übergibt eine eingestellte Kommandozeile, die sich über
  2122. (!EM)Eingabe(!em) konfigurieren lä₧t.
  2123.  
  2124. Ein besonderer Punkt ist die Input/Output-Redirection.
  2125.  
  2126. Es besteht die Möglichkeit, einen markierten Block als Standard-Input in ein 
  2127. Programm einzufüttern, und auch die Möglichkeit die Ausgaben eines Programmes in 
  2128. den Text einzufügen.
  2129.  
  2130. Dabei gelten folgende Regeln:
  2131.  
  2132. !begin_itemize
  2133.   !item Wenn 'Block In' aktiviert ist wird der aktuell markierte Block als Input 
  2134.   genommen (auch wenn er nicht im aktuellen Fenster liegt!)
  2135.   !item Wenn 'Block Out' aktiviert ist, wird die Ausgabe des Programmes an der 
  2136.   aktuellen Cursorposition im aktuellen Fenster eingefügt.
  2137.   !item ist beides aktiviert ('Block In / Block Out'), wird zusätzlich 
  2138.   selektierte Block nach dem Programmlauf gelöscht.
  2139. !end_itemize
  2140.  
  2141. Wer z.B. die externen Tools awk und sed kennt, wird dieses Feature sicherlich zu 
  2142. schätzen wissen.
  2143.  
  2144. Mittels 'Dateipfad setzen' wird vor dem Programmstart der Pfad eingestellt, in 
  2145. dem der aktuelle Text liegt.
  2146.  
  2147. Dies ist z.B. dann interessant, wenn man 'make' benutzt, das das makefile aus 
  2148. dem aktuellen Pfad liest.
  2149.  
  2150.  
  2151.  
  2152. Neben den zwanzig anmeldbaren Programmen, sind folgende Utilities
  2153. vorgesehen, deren Pfade vom Benutzer separat angemeldet werden können:
  2154.  
  2155. !label DefineTestProgram
  2156.  
  2157. !begin_itemize
  2158.   !item  BFISH, Babelfisch
  2159.   !item  ONYX, der Assembler-Präprozessor
  2160.   !item  PMD, der Post Mortem Debugger
  2161.   !item  RTD, der Runtime Debugger
  2162.   !item  PRINT, ein nachladbarer Druckertreiber
  2163.   !index Exception
  2164.   !item  TEST, ein frei wählbares Programm. Es empfiehlt sich, das gerade in
  2165.         Entwicklung befindliche Programm anzumelden, um es über (!KEY)F7(!key)
  2166.         direkt aufrufen zu können. Dabei wird im Fileselektor automatisch
  2167.         das Programm vorgeschlagen, das als nächstes gelinkt werden würde.
  2168.         Ist die Option (!EM)bei TEST-Programm Exceptions abfangen(!em) aktiv, so
  2169.         werden bei der Ausführung auftretende Exceptions abgefangen (siehe
  2170.         Kapitel PMD).
  2171. !end_itemize
  2172.  
  2173. Au₧er PMD verfügt jedes der erwähnten Tools über eine eigene
  2174. Kommandozeile.
  2175.  
  2176. Gestartet wird ein angemeldetes Tool entweder über den entsprechenden
  2177. Menüeintrag unter dem Titel (!EM)Tools(!em) oder die Tasten (!KEY)Control 0..9(!key),
  2178. bzw. die Tasten (!KEY)Shift Control 0..9(!key) auf dem Ziffernblock. Im Menü
  2179. sind maximal neun Programme sichtbar. Über Pfeile, die als erster
  2180. bzw. letzter Eintrag erscheinen, wird die Programmliste im Menü gescrollt.
  2181.  
  2182. !index Druckertreiber
  2183. !index Print Control Block
  2184. !label PrintParamBlock
  2185. Der nachladbare Druckertreiber kann unter PRINT angemeldet werden und erhält
  2186. beim Start als ersten Parameter in der Kommandozeile den Dezimalwert (adr)
  2187. eines Zeigers auf den (!EM)Print Control Block (PCB)(!em) in der Form
  2188. (!REF)HMPRINT[adr](!ref). Auf diese Weise hat der Treiber Zugriff auf den
  2189. auszudruckenden Text(-block). Es darf dabei jedoch keiner der Werte im PCB
  2190. verändert werden, und auch ein schreibender Zugriff auf den Dateinamen oder
  2191. den Text selbst ist nicht erlaubt!
  2192.  
  2193. !begin_verbatim
  2194.   TYPE
  2195.     tPCB = RECORD
  2196.       FName: ADDRESS;   (* Zeiger auf Dateinamen              *)
  2197.       TAdr : ADDRESS;   (* Startadresse des Textes            *)
  2198.       TLen : LONGCARD;  (* Länge des Textes                   *)
  2199.       PVon : LONGCARD;  (* Druckanfang, Offset vom Textanfang *)
  2200.       PBis : LONGCARD;  (* Druckende, Offset vom Textanfang   *)
  2201.     END;
  2202. !end_verbatim
  2203. !index Programme starten
  2204.  
  2205.  
  2206. #}}}
  2207.  
  2208. #*****************************************************************
  2209. !newpage
  2210. !node HM-Operationen
  2211. #{{{
  2212. !label ClixHMKey
  2213.  
  2214. !subnode Tastaturkürzelübersicht
  2215.  
  2216. Da Clix auch als Entwicklungsumgebung dient, sind einige Kommandos
  2217. vorhanden, die z.B. den direkten Aufruf des Compiler-Accessories
  2218. ermöglichen.
  2219.  
  2220. (!KEY)F10(!key) bzw. der Menüeintrag (!EM)Modula/Compile(!em) compiliert die
  2221. Datei, die im Vordergrund liegt. Das Modul mu₧ in der Makedatei des
  2222. Accessories angemeldet sein. War die Übersetzung erfolgreich, wird der Text
  2223. abgespeichert. Ist die im Vordergrund liegende Datei ein Assemblermodul, 
  2224. dann wird (!T)Babelfisch(!t) aufgerufen und versucht die Datei zu assemblieren.
  2225.  
  2226. (!KEY)Control F10(!key) compiliert die im Vordergund befindliche Datei und
  2227. linkt das ausgewählte Hauptmodul.
  2228.  
  2229. !index Testprogramm
  2230. (!KEY)Control Alternate F10(!key) wirkt wie (!KEY)Control F10(!key), jedoch wird nach
  2231. erfolgreichem Linken das Testprogramm gestartet.
  2232.  
  2233. !index Testprogramm
  2234. (!KEY)Shift Control Alternate F10(!key) wirkt wie (!KEY)Control Alternate F10(!key),
  2235. jedoch wird das Testprogramm über RTD gestartet.
  2236.  
  2237. (!KEY)Shift F10(!key) oder der Menüeintrag (!EM)Modula/ONYX(!em) ruft den
  2238. Präprozessor-Assembler (!EM)ONYX(!em) für den obersten Text auf. Der Zugriffspfad
  2239. für den Assembler wird über den Dialog (!EM)Tools/Pfade(!em) festgelegt.
  2240.  
  2241. Im Falle eines Fehlers während des Compilierens wird eine Box mit einer
  2242. entsprechenden Fehlermeldung ausgegeben. Diese wird über einen Mausklick
  2243. oder eine beliebige Taste geschlossen. Es ist jedoch zu beachten, da₧ die
  2244. gedrückte Taste von Clix gleichzeitig als Eingabe gewertet wird.
  2245.  
  2246. (!KEY)F9(!key) bzw. der Menüeintrag (!EM)Modula/Link(!em) aktiviert den
  2247. Make-Mechanismus. Inkonsistente Module werden compiliert. Anschlie₧end wird 
  2248. das ausgewählte Hauptmodul gelinkt.
  2249.  
  2250. (!KEY)Shift F9(!key) bzw. der Menüeintrag (!EM)Modula/Make(!em) compiliert zum
  2251. Hauptmodul gehörende, inkonsistente Module neu.
  2252.  
  2253. !index Testprogramm
  2254. (!KEY)Alternate F9(!key) wirkt wie (!KEY)F9(!key), jedoch wird nach erfolgreichem
  2255. Linken das Testprogramm gestartet.
  2256.  
  2257. !index Testprogramm
  2258. (!KEY)Shift Alternate F9(!key) wirkt wie (!KEY)Alternate F9(!key), jedoch wird
  2259. das Testprogramm über RTD gestartet.
  2260.  
  2261. !index Testprogramm
  2262. (!KEY)F6(!key) oder der Menüpunkt (!EM)Test/RTD(!em) startet RTD mit dem Namen
  2263. des Testprogramms als Kommandozeile.
  2264.  
  2265. (!KEY)Shift F6(!key) oder der Menüeintrag (!EM)Modula/RTD(!em) ruft den
  2266. Runtime Debugger RTD auf. Der Zugriffspfad für den Debugger wird über
  2267. den Dialog (!EM)Tools/Pfade(!em) festgelegt. RTD verfügt über eine eigene
  2268. Kommandozeile.
  2269.  
  2270. !index Testprogramm
  2271. (!KEY)F7(!key) oder der Menüeintrag (!EM)Modula/Test(!em) ruft das über den
  2272. Pfadedialog als Testprogramm angemeldete Programm auf.
  2273.  
  2274. (!KEY)Shift F7(!key) oder der Menüeintrag (!EM)Modula/PMD(!em) ruft den
  2275. Post Mortem Debugger (!EM)PMD(!em) auf. Der Zugriffspfad für den Debugger wird
  2276. über den Dialog (!EM)Tools/Pfade(!em) festgelegt.
  2277.  
  2278. (!KEY)F8(!key) bzw. der Menüeintrag (!EM)Modula/Modul-Liste(!em) öffnet das
  2279. HMplus-Accessory, falls ein AES-Fenster frei ist.
  2280.  
  2281. (!KEY)Shift F8(!key) öffnet den Optionendialog des HMplus-Accessory.
  2282.  
  2283. (!KEY)Control F8(!key) und der Menüpunkt (!EM)Modula/Anmelden(!em) speichern die
  2284. aktuelle Datei ab und melden sie beim HM2-System an.
  2285.  
  2286. Die kombinierten Aktionen Compilieren + Linken, Linken + Starten
  2287. sowie Compilieren + Linken + Starten können durch Drücken einer der
  2288. Tasten (!KEY)Shift(!key), (!KEY)Control(!key) oder (!KEY)Alternate(!key) abgebrochen werden.
  2289.  
  2290. !subnode Fehlersprung
  2291.  
  2292. !index Fehlersprung
  2293.  
  2294. Sowohl für den HM2-Compiler als auch für externe Utilities, wie 
  2295. (!T)Babelfisch(!t) und (!EM)Onyx(!em), steht ein Mechanismus zur Verfügung, der den
  2296. Sprung von einem Fehler zum nächten erlaubt.
  2297.  
  2298. (!KEY)Alternate J(!key) setzt den Cursor auf den nächsten Fehler.
  2299.  
  2300. (!KEY)Shift Alternate J(!key) setzt den Cursor auf den vorherigen Fehler.
  2301.  
  2302. (!KEY)Control Alternate J(!key) setzt den Cursor auf die erste Fehlerposition.
  2303.  
  2304. (!KEY)Shift Control Alternate J(!key) setzt den Cursor auf die letzte
  2305. Fehlerposition.
  2306.  
  2307.  
  2308. #}}}
  2309.  
  2310. #*****************************************************************
  2311. !newpage
  2312. !node Optionen
  2313. #{{{
  2314. !subnode Einfüge- und Überschreibmodus
  2315.  
  2316. !index Einfügemodus
  2317. !index Überschreibmodus
  2318. (!KEY)F4(!key) oder der Menüeintrag (!EM)Optionen/Einfügemodus(!em) schaltet zwischen
  2319. dem Einfüge- und Überschreibmodus um. Ist der Überschreibmodus aktiv, so 
  2320. wird dies durch das Zeichen ""O"" in der Menüleiste angezeigt. Ist der 
  2321. Einfügemodus aktiv, so wird dies durch das Zeichen ""I"" in der Menüleiste 
  2322. angezeigt.
  2323.  
  2324. !subnode Spaltenblock
  2325.  
  2326. !index Spaltenblock
  2327. (!KEY)Control F4(!key) und der Menüpunkt (!EM)Spaltenblock(!em) schaltet den
  2328. Spaltenblock an bzw. aus.
  2329.  
  2330. !subnode Allgemeine Optionen
  2331.  
  2332. !index Optionen !! allgemeine
  2333. (!KEY)Shift F4(!key) oder der Menüeintrag (!EM)Optionen/Allg. Optionen...(!em)
  2334. öffnet folgenden Dialog:
  2335.  
  2336. !begin_center
  2337. (!IMAGE [Images/clixopt])
  2338. !end_center
  2339.  
  2340. (!EM)GDOS Zeichensätze laden(!em) entscheidet darüber, ob die GEM-Zeichensätze
  2341. bei installiertem GDOS von Clix geladen werden.
  2342.  
  2343. !label DumpOption
  2344. !index Testprogramm
  2345. (!EM)Dump-Option für Test-Programm(!em) bestimmt, ob bei dem
  2346. Testprogramm auftretende Exceptions abgefangen werden und ggf. ein 
  2347. Speicherdump geschrieben werden soll. Zum Testprogramm muß dann das Modul 
  2348. (!REF)Rts(!ref) gelinkt werden.
  2349.  
  2350. (!EM)Oberen Rand reservieren(!em) bestimmt, ob auf dem Bildschirm immer
  2351. ein oberer Rand reserviert wird, um die Text-Icons sichtbar zu machen.
  2352.  
  2353. (!EM)Maximale Fensterbreite(!em) begrenzt die Fensterbreite auf den in der
  2354. Pfeilbox angegebenen Wert. Dies ist vor allem für Gro₧bildschirme
  2355. gedacht, um nach dem Öffnen eines Textes nicht jedesmal das Fenster
  2356. verkleinern zu müssen.
  2357.  
  2358. (!EM)RETURN trennt Zeile(!em) bestimmt die Funktion der Tasten (!KEY)Return(!key) und
  2359. (!KEY)Enter(!key). Ist die Option nicht aktiv, so wird eine Leerzeile unterhalb
  2360. der Cursorposition eingefügt, andernfalls wird der Rest einer Zeile ab der
  2361. Cursorposition in eine neue umbrochen.
  2362.  
  2363. (!EM)Zeilenende(!em) legt das Zeichen fest, das das Ende einer Zeile markiert. Auf
  2364. diese Weise lassen sich eventuelle am Zeilenende vorhandene Leerzeichen 
  2365. sichtbar machen. Sind keine Markierungen erwünscht, so wählt man ein 
  2366. Leerzeichen als Symbol (ASCII-Wert 32).
  2367.  
  2368. (!EM)Absatzende(!em) legt, analog zur Zeilenendemarkierung ein Zeichen zur
  2369. Absatzmarkeriung fest. Die Markierung eines Absatzes erfolgt jedoch nur im 
  2370. Wortumbruch-Modus, da nur in diesem Fall eine Einteilung des Textes in
  2371. Absätze erfolgt.
  2372.  
  2373. !label TextAutoSave
  2374. (!EM)Texte automatisch sichern(!em) bewirkt, da₧ vor dem Start eines Programms
  2375. und beim Verlassen von Clix die veränderten Texte ohne Nachfrage 
  2376. automatisch gesichert werden.
  2377.  
  2378. (!EM)Desktop bei Verlassen speichern(!em) bewirkt, da₧ die Position der Icons und
  2379. die geöffneten Fenster gesichert werden.
  2380.  
  2381. (!EM)Nach Suchen+Ersetzen Meldung(!em) dient dazu, nach der
  2382. Suchen-Ersetzen-Operation eine Meldung auszugeben, die die Anzahl der
  2383. Ersetzungen anzeigt.
  2384.  
  2385. (!EM)Vergleich berücksichtigt Formatierung(!em) bestimmt, ob bei Textvergleich
  2386. auf identischem Text bestanden wird, oder zusätzliche Leerzeichen oder 
  2387. Leerzeilen toleriert werden.
  2388.  
  2389. (!EM)Blöcke vor dem Cursor einfügen(!em) bestimmt die Cursorposition nach dem
  2390. Einfügen eines Blocks. Ist diese Option aktiv, so wird nach dem Einfügen
  2391. der Cursor an das Ende des Blocks gesetzt.
  2392.  
  2393. (!EM)Zusätzlicher Textspeicher(!em) legt die Grö₧e des Speichers fest, der
  2394. zusätzlich beim Laden eines Textes alloziert wird. Die Grö₧e dieses
  2395. Speichers begrenzt die maximal eingebbaren Zeichen.
  2396.  
  2397. (!EM)Blockspeicher(!em) legt die Grö₧e des globalen Blockpuffers fest. Diese
  2398. lä₧t sich jedoch nur ändern, wenn alle Fenster geschlossen sind.
  2399.  
  2400. (!EM)PAR Sichern(!em) sichert die aktuellen Parameter in der Datei (!REF)CLIX.PAR(!ref).
  2401.  
  2402. !subnode Klammernpaare
  2403.  
  2404. (!KEY)Alternate I(!key) oder der Menüpunkt (!EM)Optionen/Klammernpaare...(!em)
  2405. öffnet folgenden Dialog:
  2406.  
  2407. !begin_center
  2408. (!IMAGE [Images/clixspec])
  2409. !end_center
  2410.  
  2411. Dieser Dialog bietet die Möglichkeit, sechs verschiedene Zeichensequenzen
  2412. zu definieren, die als Klammerung gewertet werden sollen(!N)Die in
  2413. älteren Versionen von Clix hier angebotene Umlautersetzung ist entfallen, da
  2414. sie flexibler durch die frei programmierbaren Makros ersetzt werden kann.(!n).
  2415. Diese Definition ist wichtig für die Markierung von geklammerten
  2416. Textauschnitten als Block. Über die rechten Radio-Buttons lä₧t sich die
  2417. Kommentarsequenz festlegen, die verwendet wird, um eine Zeile bzw. einen
  2418. Block auszukommentieren. Die Auswahl kann auch über die Tasten
  2419. (!KEY)Alternate 0..5(!key) erfolgen.
  2420.  
  2421. In der linken Radio-Button-Leiste oder die Tasten (!KEY)Alternate A..F(!key) kann
  2422. man das Klammernpaar bestimmen, für die ein Hierarchietest über den gesamten
  2423. Text ausgeführt werden soll. Der Button (!EM)Test(!em) startet den
  2424. Hierarchietest. Falls die Klammerung nicht korrekt ist, erfolgt eine
  2425. Meldung, und die (vermutlich) fehlerhafte Stelle wird angezeigt.
  2426.  
  2427. !subnode Textoptionen
  2428. !label AltTab
  2429.  
  2430. !begin_center
  2431. (!IMAGE [Images/clixtopt])
  2432. !end_center
  2433.  
  2434. (!KEY)Alternate Tab(!key) oder der Menüeintrag
  2435. (!EM)Optionen/Textoptionen...(!em) ermöglicht die Einstellung
  2436. verschiedener Optionen, die sich nur auf den im Vordergrund befindlichen 
  2437. Text beziehen. Über eine Pfeilbox kann die Tabulatorweite festgelegt 
  2438. werden.
  2439.  
  2440. Die Default-Einstellung der Textoptionen erfolgt unter dem Menüpunkt 
  2441. (!EM)Datei/Auswählen...(!em).
  2442.  
  2443. (!EM)Text in PIK-Datei übernehmen(!em) legt fest, ob der Pfad der im Vordergrund
  2444. befindliche Text nach der Bearbeitung in die PIK-Datei aufgenommen werden
  2445. soll oder nicht. Auf diese Weise lä₧t sich die Konsistenz einer PIK-Datei
  2446. erhöhen.
  2447.  
  2448. (!EM)Backup(!em) öffnet einen PopUp-Selektor, der die Namensgebung einer
  2449. Backup-Datei steuert. Auf Wunsch kann die Erzeugung einer Backup-Datei auch 
  2450. abgeschaltet werden.
  2451.  
  2452. Es stehen drei unterschiedliche Modi für die Erzeugung einer Sicherung zur 
  2453. Verfügung, die die Namensgebung der Backup-Datei beeinflussen:
  2454.  
  2455. !begin_description
  2456. !item [Standard] führt dazu, da₧ das letzte Zeichen verändert wird. Aus
  2457.   (!REF).DOC(!ref) wird beispielsweise (!REF).DOB(!ref), aus (!REF).TXT(!ref) wird (!REF).TXS(!ref).
  2458.   Ist die Extension kürzer als drei Zeichen, so wird sie mit ""+""-Zeichen 
  2459.   aufgefüllt, aus (!REF).M(!ref) wird also (!REF).M++(!ref).
  2460. !item [Lang => DUP] verhält sich wie der Standard-Modus, nur wird aus einer
  2461.   3-Zeichen-Extension die Extension (!REF).DUP(!ref).
  2462. !item [immer DUP] erzeugt ausschlie₧lich (!REF).DUP(!ref)-Backups.
  2463. !end_description
  2464.  
  2465. (!EM)Tabulatoren expandieren/komprimieren(!em) führt dazu, da₧ beim Sichern
  2466. versucht wird, so viele Leerzeichen wie möglich in Tabulatorzeichen
  2467. umzuwandeln. Beim Laden eines Textes werden Tabulatoren immer in Leerzeichen
  2468. gewandelt.
  2469.  
  2470. !index Zeilenendezeichen
  2471. Die Radio-Buttons (!EM)CR+LF(!em), (!EM)CR(!em), (!EM)LF(!em) und (!EM)0C(!em) entscheiden
  2472. darüber, welche(s) Zeichen als Markierung für das Zeilenende verwendet 
  2473. werden soll: (!EM)CR+LF(!em) ist unter TOS- bzw. MS-DOS, (!EM)CR(!em) unter RTOS und
  2474. OS/9, (!EM)LF(!em) unter UNIX üblich, und (!EM)0C(!em) schlie₧lich ist für die
  2475. Verarbeitung reiner Stringlisten gedacht. (!EM)LF(!em) wird aber auch von vielen
  2476. Programmen unter TOS akzepiert, so von dem (!TeX)-Compiler von Stefan Lindner
  2477. oder dem Hänisch-Modula-2-Entwicklungssystem. Intern arbeitet 
  2478. Clix mit (!EM)LF(!em) als Zeilenende. Daher wird ein Text, den Sie mit (!EM)CR+LF(!em)
  2479. und ohne Tabulatorenkomprimierung abspeichern, auf Diskette immer etwas mehr 
  2480. Platz einnehmen, als im Informations-Dialog angezeigt wird. Andererseits 
  2481. nimmt der Text beim Abspeichern durch Tabulatorenkomprimierung an Länge ab.
  2482.  
  2483. (!EM)Automatisches Einrücken(!em)
  2484. !index Einrücken !! automatisches
  2485. !index Automatisches Einrücken
  2486. !label AutoIndent
  2487. führt dazu, da₧ beim Einfügen einer neuen Zeile 
  2488. der Cursor unter das erste Zeichen der vorhergehenden Zeile gestellt wird. 
  2489. Ist es nicht aktiviert, wird der Cursor in diesem Fall immer auf den linken 
  2490. Rand gesetzt.
  2491.  
  2492. (!EM)Linker Rand(!em) setzt für die Funktionen Zeile einfügen und Zeile teilen den
  2493. linken Rand, auf den der Cursor wenigstens gesetzt werden soll. 
  2494. Selbstverständlich kann der Cursor anschlie₧end links davon positioniert 
  2495. werden.
  2496.  
  2497. (!EM)Nicht editierbar(!em) verhindert sämtliche inhaltliche Änderungen an dem
  2498. entsprechenden Dokument.
  2499.  
  2500. (!EM)An Zeilenenden Leerzeichen entfernen(!em) ist im Normalfall aktiv. Dadurch
  2501. werden eventuell am Zeilenende vorhandene Leerzeichen entfernt. Bei der 
  2502. Bearbeitung bestimmer Dateien (z.B. DESKTOP.INF) mu₧ die Option jedoch 
  2503. abgeschaltet werden. Im Wortumbruch-Modus ist diese Option nicht 
  2504. aktivierbar.
  2505.  
  2506. (!EM)Faltung von Blöcken übernehmen(!em) entscheidet darüber, ob beim Laden und
  2507. Speichern die Blockfaltung erhalten bleiben soll.
  2508.  
  2509. (!EM)Wortumbruch ab Spalte(!em) aktiviert den automatischen Zeilenumbruch. Wird
  2510. bei der Eingabe der angegebene rechte Rand erreicht, so wird das letzte Wort 
  2511. der Zeile umbrochen. Ein linker Rand (Einrückungen) bleibt dabei bei
  2512. aktivierter Option (!EM)Automatisches Einrücken(!em) erhalten.
  2513.  
  2514. (!EM)Einrückungen...(!em) zeigt die in der Datei (!REF)CLIX.IND(!ref) definierten
  2515. Einrückungen an.
  2516.  
  2517. !subnode Textinformationen
  2518.  
  2519. !begin_center
  2520. (!IMAGE [Images/clixtinf])
  2521. !end_center
  2522.  
  2523. (!KEY)Control I(!key) bzw. der Menüpunkt (!EM)Optionen/Information...(!em) öffnet
  2524. eine Dialogbox, die Informationen über den gerade im Vordergrund befindlichen 
  2525. Text enthält. Dies ist der Zugriffspfad mit dem Dateinamen, die Anzahl der 
  2526. Zeichen und die Anzahl der Zeilen im Text. Wurde für den Text eine 
  2527. Fehlerdatei geladen, so so wird dies angezeigt. Au₧erdem wird die Grö₧e eines 
  2528. markieren Blocks ausgegeben.
  2529.  
  2530. !subnode Schriftart
  2531.  
  2532. !index Schriftart
  2533. Clix ist in der Lage, die einzelnen Texte in unterschiedlichen Schriftgrö₧en 
  2534. und verschiedenen Schriftarten darzustellen. Wurde GDOS installiert, so 
  2535. werden alle verfügbaren GEM-Zeichensätze geladen, falls die Option (!EM)GDOS
  2536. Zeichensätze laden(!em) aktiv ist. Zur Darstellung können jedoch keine
  2537. Proportional-Fonts verwendet werden.
  2538.  
  2539. (!KEY)Control Z(!key) oder der Menüpunkt (!EM)Optionen/Schriftart...(!em)
  2540. aktiviert folgenden Dialog:
  2541.  
  2542. !begin_center
  2543. (!IMAGE [Images/clixfont])
  2544. !end_center
  2545.  
  2546. Hier kann man über einen Popup-Selektor die Grö₧e des Zeichensatzes für das 
  2547. gerade aktive Fenster verändern. Ist kein Text geöffnet, so bezieht sich die 
  2548. Zeichensatzeinstellung auf alle folgenden Texte. Die Pfeilbox 
  2549. (!EM)Zeilenzwischenraum(!em) vergrö₧ert den Zeilenabstand. Dies führt vor allem
  2550. bei kleinen Zeichensätzen zu einer besseren Lesbarkeit. Über eine weiteren 
  2551. Selektor lä₧t sich der gewünschte GEM-Zeichensatz auswählen. Der Button 
  2552. (!EM)Setzen(!em) setzt die gerade gewählte Schriftgrö₧e und den Zeichensatz als
  2553. Standardeinstellung für alle folgenden Fenster. (!EM)Holen(!em) setzt den
  2554. Zeichensatz und dessen Grö₧e auf die Standardeinstellung zurück.
  2555.  
  2556. Zwei Pfeilboxen erlauben die getrennte Einstellung einer Vorder- und 
  2557. Hintergrundfarbe für jeden Text.
  2558.  
  2559.  
  2560. #}}}
  2561.  
  2562.  
  2563. #*****************************************************************
  2564. !newpage
  2565. !node Die Hilfefunktion
  2566. #{{{
  2567.  
  2568. Clix unterstützt ST-Guide als Hilfesystem sowie andere, 
  2569. aufrufkompatible Hilfesysteme.
  2570.  
  2571. Die Nachricht zur Darstellung wird an 'ST-GUIDE' verschickt. Wenn Sie 
  2572. ein anderes Hilfesystem verwenden oder ST-GUIDE unter anderem Namen 
  2573. verwenden, sollten Sie eine Environmentvariable 'HELP' setzen, in der 
  2574. der Name des Hilfesystems angegeben ist (z.B. unter Gemini: (!T) export 
  2575. HELP=STGUIDE(!t).
  2576.  
  2577. Wenn Sie F1 drücken, wird der Hilfetext zu Clix von ST-Guide 
  2578. angezeigt.
  2579.  
  2580. Wenn Sie HELP drücken, wird das unter dem Textcursor stehende Wort 
  2581. selektiert und als Parameter an ST-GUIDE übergeben.
  2582.  
  2583. Für Anwender von Hänisch Modula-2 gibt es eine erweiterte Hilfe-Technik:
  2584.  
  2585. Handelt es sich um einen bekannten Bezeichner eines Modules (Modulname,
  2586. qualifizierter Typ eines anderen Moduls oder ein in einer IMPORT-Liste
  2587. aufgeführtes Wort), so wird das zugehörige DEFINITION-Module geladen.
  2588. #}}}
  2589.  
  2590. #*****************************************************************
  2591. !newpage
  2592. !node Zubehör
  2593. #{{{
  2594. Zu Clix gehören einige kleine Programme als Zubehör.
  2595.  
  2596. !begin_description
  2597.   !item [SE_Call.APP] Mit diesem Programm können sie bei einer SE-Shell 
  2598.     Handlungen auslösen. Clix besitzt zwar das SE-Protokoll, aber manchmal 
  2599.     ist es angenehmer, ein externes Programm zu verwenden. Zum einen kann man 
  2600.     damit auch von anderen Programmen aus SE-Befehle absetzen, zum anderen 
  2601.     kann man die zu übergebenden Parameter frei bestimmen.
  2602.  
  2603.     Ein Beispiel dazu ist das Auslösen eines Linking, während man ein 
  2604.     beliebiges Modul editiert.
  2605.  
  2606.     Parameter für SE_Call:
  2607.  
  2608.     !begin_itemize
  2609.       !item -c <filename>  compile filename
  2610.       !item -m <filename>  Make filename
  2611.       !item -l <filename>  Link filename
  2612.       !item -x <filename>  execute filename
  2613.     !end_itemize
  2614.  
  2615.   !item [uff.ttp] uff steht für unfold/fold. Ein Clix-Text wird entfaltet, 
  2616.   mit einem anderen Programm bearbeitet, und wieder gefaltet. Dies ist dann 
  2617.   sinnvoll, wenn andere Programme durch die Faltung gestört werden, der auch 
  2618.   die Faltung einfach nur zerstören (zB awk, sed). Als Parameter werden die 
  2619.   Namen der Dateien übergeben und ab einem '-' das zu verwendende Kommando 
  2620.   mit Parametern. Die Liste der Dateinamen kann dabei aus Wildcards 
  2621.   expandiert werden.
  2622.  
  2623. !end_description
  2624. #}}}
  2625.  
  2626.  
  2627. #*****************************************************************
  2628.  
  2629. !newpage
  2630. !node Tastenübersicht
  2631. #{{{
  2632. Die Tastenkombinationen wurden, soweit möglich, nach vorhandenen Richtlinien 
  2633. sowie logischen Gesichtspunkten festgelegt. So bedeutet z.B. die Shift-Taste 
  2634. zumeist eine Richtungsumkehr, Control-Kombinationen sind in erster Linie für 
  2635. Block- und Zeilenoperationen sowie zum Markieren zuständig, und 
  2636. Alternate-Kombinationen sind für Dateioperationen, Programmstarts und zum 
  2637. Anspringen von Marken vorgesehen.
  2638.  
  2639. !subnode Sondertasten
  2640.  
  2641. (!TASTE [Links/Rechts] [bewegt den Cursor in der Zeile])
  2642. (!TASTE [Shift Links/Rechts] [bewegt den Cursor zum Zeilenanfang/-ende])
  2643. (!TASTE [Ctrl Links/Rechts] [bewegt den Cursor wortweise links/rechts])
  2644. (!TASTE [Shift Ctrl Links] [bewegt den Cursor zum logischen Zeilenanfang])
  2645.  
  2646. (!TASTE [Auf/Ab] [bewegt den Cursor eine Zeile vor/zurück])
  2647. (!TASTE [Shift Auf/Ab] [bewegt den Cursor eine Seite vor/zurück])
  2648. (!TASTE [Ctrl Auf/Ab] [bewegt den Cursor zum Seitenanfang/-ende])
  2649. (!TASTE [Shift Ctrl Auf/Ab] [bewegt den Textausschnitt eine Zeile vor/zurück])
  2650.  
  2651. (!TASTE [Home/Shift Home] [bewegt den Cursor zum Textanfang/-ende])
  2652. (!TASTE [Ctrl Home] [kompletter Bildschirm-Redraw])
  2653.  
  2654. (!TASTE [Help] [sucht im Manual nach dem Wort unter dem Cursor])
  2655. (!TASTE [Shift Help] [sucht im Manual nach einer Anleitung zu Clix])
  2656.  
  2657. (!TASTE [Undo] [macht Änderungen in der letzten editierten Zeile rückgängig])
  2658. (!TASTE [Alt Undo] [oberstes Fenster schlie₧en])
  2659.  
  2660. (!TASTE [Insert] [fügt an der Cursorposition eine neue Zeile ein])
  2661. (!TASTE [Ctrl Insert] [verdoppelt die aktuelle Zeile])
  2662.  
  2663. (!TASTE [Return/Enter] [fügt unter der aktuellen Zeile eine neue Zeile ein abhängig von der Option 'RETURN trennt Zeile'])
  2664. (!TASTE [Alt Return/Enter] [trennt die Zeile ab Cursor einschlie₧lich abhängig von der Option 'RETURN trennt Zeile'])
  2665.  
  2666. (!TASTE [Backspace] [löscht das Zeichen links des Cursors])
  2667. (!TASTE [Alt Backspace] [vereinigt die aktuelle Zeile mit der darüber])
  2668. (!TASTE [Shift Backspace] [führt Backspace aus, bis der Cursor auf der vorigen Tabulatorposition steht (am Zeilenanfang werden Zeilen vereinigt!)])
  2669. (!TASTE [Control Backspace] [setzt den Cursor auf die nächste, linke Tabulatorposition])
  2670. (!TASTE [Delete] [löscht das Zeichen unter dem Cursor])
  2671. (!TASTE [Alt Delete] [vereinigt die aktuelle Zeile mit der darunter])
  2672.  
  2673. (!TASTE [Tab] [fügt Leerzeichen ein, bis der Cursor auf der nächsten Tabulatorposition steht])
  2674. (!TASTE [Shift Tab] [führt Backspace aus, bis der Cursor auf der vorigen Tabulatorposition steht (maximal bis zum Zeilenanfang!)])
  2675. (!TASTE [Alt Tab] [ruft Dialog auf, um die Textoptionen zu setzen])
  2676. (!TASTE [Control Tab] [setzt den Cursor auf die nächste, rechte Tabulatorposition])
  2677. (!TASTE [Shift Control Tab] [setzt den Cursor auf die nächste, linke Tabulatorposition])
  2678.  
  2679. (!TASTE [Esc] [ruft mit weiterer Taste Makro auf])
  2680. (!TASTE [Shift Esc] [nächste Taste nicht als Tastaturmakro ausführen])
  2681. (!TASTE [Ctrl Esc] [Tastaturmakro programmieren])
  2682. (!TASTE [Alt Esc] [Tastaturmakro aufrufen])
  2683.  
  2684. !subnode Funktionstasten
  2685.  
  2686. (!TASTE [F2/F3] [Wort links/rechts löschen])
  2687. (!TASTE [Shift F2/F3] [löschen bis Zeilenanfang/-ende])
  2688. (!TASTE [Ctrl F2/F3] [Fensterausschnitt halbe Seite links/rechts])
  2689. (!TASTE [F4] [Einfüge Modus an-/ausschalten])
  2690. (!TASTE [Shift F4] [Allgemeine Optionen])
  2691. (!TASTE [Control F4] [Spaltenblock an/aus])
  2692. (!TASTE [F5] [Textmakro löschen oder definieren, falls Block markiert])
  2693. (!TASTE [Shift F5] [Tastaturmakro zuweisen oder löschen])
  2694. (!TASTE [Alt F5] [Makrodatei lesen oder schreiben])
  2695. (!TASTE [F6] [RTD mit Testprogramm in der Kommandozeile starten])
  2696. (!TASTE [Shift F7] [Post Mortem Debugger PMD starten])
  2697. (!TASTE [Shift F6] [Runtime Debugger RTD starten])
  2698. (!TASTE [F7] [unter TEST angemeldetes Programm starten])
  2699. (!TASTE [F8] [öffnet das HMplus-Accessory])
  2700. (!TASTE [Shift F8] [öffnet den Optionendialog des HMplus-Accessories])
  2701. (!TASTE [Ctrl F8] [meldet die aktuelle Datei im Make an])
  2702. (!TASTE [F9] [falls nötig, compilieren, und dann Programm linken])
  2703. (!TASTE [Shift F9] [Make --- compilieren, bis Modulhierarchie konsistent ist])
  2704. (!TASTE [Alt F9] [Linken und Starten des Testprogramms])
  2705. (!TASTE [Shift Alt F9] [Linken und Starten des Testprogramms über RTD])
  2706. (!TASTE [F10] [im Vordergrund befindliche Datei compilieren])
  2707. (!TASTE [Shift F10] [Präprozessor Assembler ONYX starten])
  2708. (!TASTE [Ctrl F10] [Im Vordergrund befindliche Datei compilieren und bei Erfolg aktuelles Hauptmodul linken])
  2709. (!TASTE [Ctrl Alt F10] [Compilieren, Linken und Starten des Testprogramms])
  2710. (!TASTE [Shift Ctrl Alt F10] [Compilieren, Linken und Starten des Testprogramms über RTD])
  2711. (!TASTE [Shift F10] [Absatz formatieren])
  2712. (!TASTE [Ctrl F10] [Zeile formatieren, auch wenn sie Absatzende ist])
  2713. (!TASTE [Shift Ctrl F10] [bis zur nächsten Leerzeile als Absatz formatieren])
  2714.  
  2715.  
  2716. !subnode Control-Kombinationen
  2717.  
  2718. (!TASTE [Ctrl 1..0] [(Hauptblock!) Marke 1..10 setzen])
  2719. (!TASTE [Ctrl A] [gesamten Text als Block markieren])
  2720. (!TASTE [Ctrl B] [Blockanfang setzen])
  2721. (!TASTE [Ctrl C] [Block merken (in Puffer kopieren!)])
  2722. (!TASTE [Shift Ctrl C] [Block an Puffer anhängen])
  2723. (!TASTE [Ctrl D] [Zeichen aus darüberliegender Zeile an Cursorposition kopieren])
  2724. (!TASTE [Shift Ctrl D] [Wort aus darüberliegender Zeile an Cursorposition kopieren])
  2725. (!TASTE [Ctrl E] [Zeilenpuffer einfügen])
  2726. (!TASTE [Ctrl F] [Begriff suchen])
  2727. (!TASTE [Shift Ctrl F] [Begriff rückwärts suchen])
  2728. (!TASTE [Ctrl G] [Globale Suche])
  2729. (!TASTE [Shift Ctrl G] [Umschaltung zwischen Blockpuffer und GEM-Klemmbrett])
  2730. (!TASTE [Ctrl H] [Blockmarkierung aufheben/wiederherstellen])
  2731. (!TASTE [Shift Ctrl H] [Blockmarkierung zwingend aufheben])
  2732. (!TASTE [Ctrl I] [Informationen über Text anzeigen])
  2733. (!TASTE [Ctrl J] [markierten Block ein- bzw. ausfalten])
  2734. (!TASTE [Shift Ctrl J] [alle Faltungen aufheben])
  2735. (!TASTE [Control Alt J] [Sprung zu erstem Fehler])
  2736. (!TASTE [Shift Control Alt J] [Sprung zu letztem Fehler])
  2737. (!TASTE [Ctrl K] [Blockende setzen])
  2738. (!TASTE [Ctrl L] [beliebiges ASCII-Zeichen aus Tabelle einfügen])
  2739. (!TASTE [Shift Ctrl L] [Dateinamen einfügen])
  2740. (!TASTE [Ctrl M] [Klammerung/Wort unter Cursor markieren])
  2741. (!TASTE [Ctrl N] [neue Zeile an Cursorposition einfügen])
  2742. (!TASTE [Ctrl O] [inkrementelle Suche vorwärts])
  2743. (!TASTE [Shift Ctrl O] [inkrementelle Suche rückwärts])
  2744. (!TASTE [Ctrl Alt O] [Text aus letztem Pfad öffnen])
  2745. (!TASTE [Ctrl P] [Block drucken])
  2746. (!TASTE [Ctrl Alt P] [Block über externen Druckertreiber drucken])
  2747. (!TASTE [Ctrl Q] [Clix verlassen])
  2748. (!TASTE [Shift Ctrl Q] [Clix verlassen, ohne CLIX.PAR zu sichern])
  2749. (!TASTE [Ctrl R] [Begriff suchen und Ersetzen])
  2750. (!TASTE [Shift Ctrl R] [Begriff rückwärts suchen und Ersetzen])
  2751. (!TASTE [Ctrl S] [Text speichern])
  2752. (!TASTE [Ctrl T] [Wort rechts löschen])
  2753. (!TASTE [Shift Ctrl T] [Wort links löschen])
  2754. (!TASTE [Ctrl U] [oberstes Fenster schlie₧en])
  2755. (!TASTE [Ctrl V] [Block aus Puffer einfügen])
  2756. (!TASTE [Ctrl W] [das nächste Fenster nach vorne bringen])
  2757. (!TASTE [Ctrl X] [Block in Puffer ausschneiden])
  2758. (!TASTE [Ctrl Alt X] [Block löschen])
  2759. (!TASTE [Ctrl Y] [Zeile löschen])
  2760. (!TASTE [Ctrl Z] [Schriftart einstellen])
  2761. (!TASTE [Ctrl~,] [Fenster überlappend anordnen])
  2762. (!TASTE [Ctrl~.] [Fenster nebeneinander anordnen])
  2763. (!TASTE [Ctrl --] [Fenster untereinander anordnen])
  2764. (!TASTE [Shift Ctrl --] [Fenster zweispaltig untereinander anordnen])
  2765. (!TASTE [Ctrl ' '] [Leerzeichen einfügen, ohne Cursorposition zu ändern])
  2766.  
  2767. Auf dem Ziffernblock:
  2768.  
  2769. (!TASTE [Ctrl (, !), /, *] [Fenster 0--3 öffnen; mit Shift Fenster 4--7])
  2770. (!TASTE [Ctrl 0..9] [Tool 0..19 starten])
  2771. (!TASTE [Ctrl Shift Ctrl 0..9] [Tool 10..19 starten])
  2772.  
  2773. !subnode Alternate-Kombinationen
  2774.  
  2775. (!TASTE [Alt 1..0] [(Hauptblock!) Marke 1..10 anspringen])
  2776. (!TASTE [Alt A] [Text aufgeben])
  2777. (!TASTE [Shift Alt A] [geladene Fehlerdatei aus dem Speicher entfernen])
  2778. (!TASTE [Alt B] [zum Blockanfang springen])
  2779. (!TASTE [Alt C] [Block kopieren])
  2780. (!TASTE [Shift Alt C] [Block in eine Datei schreiben])
  2781. (!TASTE [Alt E] [*.PRG, *.TOS, *.TTP ausführen])
  2782. (!TASTE [Alt F] [Suche fortsetzen])
  2783. (!TASTE [Shift Alt F] [Begriff rückwärts suchen])
  2784. (!TASTE [Ctrl Alt F] [Suche ab Textanfang fortsetzen])
  2785. (!TASTE [Shift Ctrl Alt F] [Suche rückwärts ab Textende fortsetzen])
  2786. (!TASTE [Alt G] [zur letzten Position springen])
  2787. (!TASTE [Alt H] [Zeile auskommentieren bzw. Auskommentierung aufheben])
  2788. (!TASTE [Ctrl Alt H] [Block auskommentieren])
  2789. (!TASTE [Alt I] [Klammern und Umlaute definieren])
  2790. (!TASTE [Alt J] [Sprung zu nächstem Fehler])
  2791. (!TASTE [Shift Alt J] [Sprung zu vorherigem Fehler])
  2792. (!TASTE [Alt K] [zum Blockende springen])
  2793. (!TASTE [Alt L] [Text durch Version in der Datei ersetzen (überladen!)])
  2794. (!TASTE [Alt M] [markierten Block als Suchbegriff übernehmen])
  2795. (!TASTE [Shift Alt M] [markierten Block als Ersetzungsbegriff übernehmen])
  2796. (!TASTE [Alt N] [Text neu anlegen])
  2797. (!TASTE [Alt O] [Text aus erstem Pfad öffnen])
  2798. (!TASTE [Shift Alt O] [Fehlerdatei zuladen])
  2799. (!TASTE [Alt P] [Pfadedialog öffnen])
  2800. (!TASTE [Alt Q] [neuen Text aus den letzten 10 Texten auswählen, die Extensions verändern oder Text von anderen Pfaden laden])
  2801. (!TASTE [Alt R] [Suchen und Ersetzen mit Nachfrage fortsetzen])
  2802. (!TASTE [Shift Alt R] [Suchen und Ersetzen rückwärts fortsetzen])
  2803. (!TASTE [Ctrl Alt R] [Suchen und Ersetzen ab Textanfang fortsetzen])
  2804. (!TASTE [Shift Ctrl Alt R] [Suchen und Ersetzen rückwärts ab Textende fortsetzen])
  2805. (!TASTE [Alt S] [Zeile merken (in Zeilenpuffer kopieren!)])
  2806. (!TASTE [Alt T] [Tabulatoren komprimieren/expandieren])
  2807. (!TASTE [Alt U] [Text unter anderem Namen abspeichern])
  2808. (!TASTE [Shift Alt U] [wie Alt U, Dateidatum bleibt unverändert])
  2809. (!TASTE [Alt V] [Block verschieben])
  2810. (!TASTE [Shift Alt V] [Block von Datei an Cursorposition einfügen])
  2811. (!TASTE [Ctrl Alt W] [Absatz formatieren])
  2812. (!TASTE [Shift Alt W] [Absatz formatieren])
  2813. (!TASTE [Ctrl Alt W] [Zeile formatieren, auch wenn sie Absatzende ist])
  2814. (!TASTE [Shift Ctrl Alt W] [bis zur nächsten Leerzeile als Absatz formatieren])
  2815. (!TASTE [Alt X] [Leerzeichen entfernen (Redundanz!)])
  2816. (!TASTE [Alt Y] [Block in Puffer ausschneiden])
  2817. (!TASTE [Alt Z] [zu Zeile/Spalte springen])
  2818. (!TASTE [Alt~,] [Fenster auf Maximalgrö₧e bringen])
  2819. (!TASTE [Shift Alt~,] [alle Fenster auf Maximalgrö₧e bringen])
  2820. (!TASTE [Alt~.] [Fenster auf Maximalhöhe bringen])
  2821. (!TASTE [Alt -] [Fenster auf Maximalbreite bringen])
  2822. (!TASTE [Alt !~] [Zeile mit darunterliegender vertauschen])
  2823. (!TASTE [Shift Alt !~] [Zeile mit darüberliegender vertauschen])
  2824. (!TASTE [Alt <] [Block bzw. Zeile um Tabulatorweite nach links schieben])
  2825. (!TASTE [Shift Alt <] [Block bzw. Zeile um Tabulatorweite nach rechts schieben])
  2826.  
  2827. Auf dem Ziffernblock:
  2828.  
  2829. (!TASTE [Alt (, !), /, *] [Fenster 0--3 schlie₧en; mit Shift Fenster 4--7])
  2830. (!TASTE [Alt~--] [Zeichen in Kleinschrift umwandeln und Cursor nach rechts])
  2831. (!TASTE [Ctrl Alt~--] [Block in Kleinschrift umwandeln])
  2832. (!TASTE [Alt~+] [Zeichen in Gro₧schrift umwandeln und Cursor nach rechts])
  2833. (!TASTE [Ctrl Alt~+] [Block in Gro₧schrift umwandeln])
  2834. (!TASTE [Alt~.] [die beiden Zeichen links vom Cursor vertauschen])
  2835. #}}}
  2836.  
  2837.  
  2838. !node History
  2839. #{{{
  2840. !begin_description
  2841.   !item [Clix 3.50]
  2842.       Erstes Release als Shareware
  2843.  
  2844.   !item [Clix 3.60]
  2845.       !begin_itemize
  2846.         !item Probleme mit 68040 beseitigt
  2847.         !item IO-Redirection für externe Tools
  2848.         !item SE-Protokoll eingebaut
  2849.         !item Hervorhebungen aus 256 Farben, statt wie bisher aus den 16 
  2850.         AES-Farben
  2851.         !item Parameterdateien werden in der Reihenfolge
  2852.           !begin_enumerate
  2853.             !item aktueller Pfad
  2854.             !item Environment-Variable HOME
  2855.             !item Environment-Variable CLIXPAR
  2856.             !item Environment-Variable CLIX
  2857.           !end_enumerate
  2858.           gesucht.
  2859.         !item Optimierungen beim Scrolling, insbesondere bei sehr gro₧en 
  2860.         Texten merkbar.
  2861.         !item Annahme von APTERM
  2862.         !item Keine Icons mehr im Desktop-Fenster, stattdessen Liste der 
  2863.         Texte
  2864.         !item mit der Environment-Variable SCREENBORDER=x0,y0,x1,y1 kann der 
  2865.         verfügbare Bildschirmbereich für das Anordnen von Fenstern 
  2866.         eingeschränkt werden.
  2867.         !item Projektdateien: eine Datei mit Dateinamen kann als Projektdatei 
  2868.         verwendet werden. Dateien, die ständig benötigt werden, können aus 
  2869.         einem Popup ausgewählt werden. Das Popup wird mit SHIFT-ALT-Q 
  2870.         aufgerufen. Die Projektdatei enthält eine Datei pro Zeile, Kommentare 
  2871.         können mit '!#' eingeleitet werden.
  2872.         !item Blockcursor für die die es unbedingt haben wollten...
  2873.  
  2874.         !item diverse kleine Bugs beseitigt
  2875.       !end_itemize
  2876.  
  2877.   !item [Clix 3.70]
  2878.     !begin_itemize
  2879.       !item Diverse Sachen, von denen ich kaum mehr wei₧, was es alles war
  2880.       !item Support für OLGA
  2881.       !item Spezialrelease für Whiteline Kappa
  2882.     !end_itemize
  2883.  
  2884.   !item [Clix 3.71]
  2885.     !begin_itemize
  2886.       !item Die Schlüsselregistrierte Version hatte leider wie die 
  2887.       Kappa-Version keinen Button zum Erreichen des Registrierdialoges.
  2888.     !end_itemize
  2889.  
  2890.   !item [Clix 3.72]
  2891.     !begin_itemize
  2892.       !item Bugfix: proportionale Fonts machten wieder Ärger, Clix blieb beim 
  2893.       Start in einer Endlosschleife hängen. Eine Korrektur war bereits vor 
  2894.       langer Zeit erfolgt, eine weitere mu₧te noch durchgeführt werden.
  2895.  
  2896.       Es gibt leider noch weitere Probleme mit proportionalen Zeichensätzen 
  2897.       in der GEMPLUS-Library, wie zB eine fehlerhafte Positionierung von 
  2898.       Tastaturkürzelmarkeren oder in Listboxen (Pick-Dialog). Es tut mir 
  2899.       leid, aber eine Korrektur wäre sehr aufwendig. Ich bitte daher um 
  2900.       Verständnis für die Darstellungsfehler.
  2901.       !item Die Trennlinien im Hauptmenu werden nicht mehr selbst gezeichnet. 
  2902.       Damit sind '3D-Menüs' möglich.
  2903.       Das scrollende Toolsmenü hat leider nach wie vor Zeichnungsfehler. Dies 
  2904.       würde einen erheblichen Eingriff in die GEMPLUS-Library erfordern. Ich 
  2905.       bitte um Nachsicht bei dieser Unschönheit.
  2906.     !end_itemize
  2907.  
  2908.  
  2909.  
  2910.  
  2911. !end_description
  2912.  
  2913. #}}}
  2914.  
  2915.