home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
apps
/
text_ed
/
everes23
/
everest.doc
next >
Wrap
Text File
|
1993-04-18
|
45KB
|
903 lines
==========================================================================
E V E R E S T - der einfach(e/geniale) GEM Texteditor.
für alle 68er Ataris (alle Grafikkarten)
Alle Angaben ohne Gewähr
==========================================================================
1. Einleitung
1.1 Der Start von EVEREST.PRG
2. Die Menüpunkte
2.1 Datei
2.2 Block
2.3 Suchen
2.4 Fenster
2.5 Einstellungen
2.6 Infos
3. Tastaturbelegung
4. Dialoge
5. AV_Protokoll
6. Versionen
7. Das unvermeidliche Kapitel
**************************************************************************
1. E I N L E I T U N G
**************************************************************************
Everest ist ein Texteditor, der dazu dienen soll, unformatierten,
sogenannten ASCII-Text einfach zu erfassen und zu verändern. Dieses
wird zum Beispiel benötigt
- zum Programmieren,
- zum Schreiben von Texten zur weiteren Formatierung durch andere
Programmme ( TeX oder Calamus),
- zum Schreiben von Texten für die DFÜ,
- zum Ändern von Programm-Konfigurationsdateien, die im Textformat
vorliegen,
- zum Schreiben von Batch-Dateien.
EVEREST.PRG hat folgende Leistungsmerkmale:
- läuft auf allen Atari-Computern mit allen Grafikkarten (außer
ST-Niedrige Auflösung (320*200))
- ist für GEM-Verhältnisse schnell (vor allem mit Blitter)
- KEIN Nachlaufen des Cursors oder ähnliches
- normale Standard-GEM-Oberfläche, daher keine Umgewöhnung
- Tastaturkommandos kompatibel zum TurboC-Editor
- freie Cursorpositionierung.
- fast vollständig über die Tastatur bedienbar (inklusive Dialoge)
(Hervorzuheben ist die Online-Blockmarkierung über Tastatur)
- Erlaubt die Benutzung von nicht proportionalen
GDOS-Zeichensätzen, sofern dieses installiert sind.
(Empfehlenswert sind die GEMIMI Zeichensätze)
- grösstenteils dynamische Speicherverwaltung: lässt anderen
Programmen möglichst viel freien Speicher übrig - Nützlich für
Accessories und Multitasking. Wird ein Fenster geschlossen, so
wird der von diesem belegte Speicherbereich freigegeben.
- Hard - Tabulatoren
- Clipboard-Unterstützung
- unterstützt das Turbo-C Helpaccessory (auch 1STGUIDE).
- bearbeitet bis zu 10 Texte, falls soviele Fenster zu Verfügung
stehen. Normale TOS Versionen können jeoch nur 7 Fenster
verwalten. Falls jemand TOS 1.04 hat, und 10 Texte gleichzeitig
bearbeiten will, kann ich ihm das Programm WINX von ST-454 nur
empfehlen, das bis zu 120 Fenster zur Verfügung stellt.
Mit WINX2 ist sogar die Bedienung von Fenstern im Hintergrund
möglich.
- Wildcards beim Suchen und beim Ersetzen.
1.1 Der Start von EVEREST.PRG
=============================
Everest wertet die Kommandozeile aus. Daher ist es möglich, Everest
aus einer Shell heraus aufzurufen. Ausserdem ist es möglich, unter
Gemini veschiedene Dateien auf das Everest-Icon zu ziehen, die dann
automatisch von Everest geladen werden. Hinter einem Dateinamen
können optional Zeile oder [Zeile und Spalte] stehen, in die der
Cursor nach dem Laden springen soll. (Die erste Zeile/Spalte hat
die Nummer 1. 0 wird als 1 interpretiert.)
Beim Suchen der Datei benutzt Everest die GEM-Funktion SHEL_FIND,
ausserdem wird aber auch der AKTUELLE "PATH"-Eintrag im Environment
berücksichtigt.
Falls "EVEREST" im Environment definiert ist, sucht Everest unter
diesem Pfad seine Konfigurationsdatei EVEREST.INF. Das Belegen der
Environmentvariablen macht man am besten in einer Batchdatei einer
Kommandoshell, dieses lässt sich sehr gut mit MUPFEL als
Bestandteil von GEMINI verwirklichen.
Falls "EVEREST" nicht im Environment definiert ist, sucht Everest
seine Info-Datei unter dem "PATH"-Eintrag und mit SHEL_FIND. Also
ist es nicht notwendig, dass Everest im aktuellen Verzeichnis
gestartet wird.
Falls durch die Kommandozeile keine Datei geladen werden konnte,
wird die Standard Text-Liste EVEREST.LIS an den gleichen Orten wie
EVEREST.INF gesucht, und gegebenenfalls ausgeführt. Mehr dazu unter
"Einstellung/Text-Listen".
Probleme:
Ältere TOS-Versionen haben den Fehler, daß SHEL_FIND immer auf
Laufwerk A sucht, auch wenn das Bootlaufwerk gar nicht A ist. Das
läßt sich umgehen, wenn man durch ein Programm im Auto-Ordner das
Environment, daß vor dem Start von AES aktiv ist, richtig
abändert.
Einfacher ist es, wenn man EVEREST.INF und EVEREST.LIS (notfalls
mit Dateilänge 0) auf jeden Fall abspeichert, da sie dann beim
Start gefunden werden, und so langes Suchen entfällt.
**************************************************************************
2. D I E M E N Ü P U N K T E
**************************************************************************
Zu vielen Tastaturkommandos sind Merkhilfen angegeben, die vielen
Leuten vielleicht albern erscheinen, so können sie um so besser
helfen. Manche Kommandos sind desshalb schwer zu merken, da sie
eine Abkürzung des englischen Kommandos sind. Für diese Fälle wird
kein deutsches benutzt, da sich für eben diese Fälle wie zB "Laden
einer Datei" das Kommando Control-O als Standard etabliert hat,
und wer will schon für jedes Programm neue Tastaturkürzel lernen ?
Falls man sich nicht an das Kürzel einnert, kann man jederzeit im
Programm in der Menüzeile nachsehen.
2.1 DATEI
=========
-Neu..........................(Control N - Merke "Neu")
Ein neuer Text wird im Speicher angelegt und mit "ohne Namen"
betitelt. Erst beim Schliessen wird nach einem Dateinamen gefragt,
unter dem der Text abgespeichert werden soll.
-Öffnen.......................(Control O - Merke "Open")
Fragt über die Dateiauswahlbox des Betriebssystems nach einem
Dateinamen - diese Datei wird dann als Text in den Speicher
geladen. Falls diese Datei nicht im ASCII-Format ist, wird
eventuell Müll angezeigt. Nach dem Laden wird der Text
initialisiert, dies kann eventuell etwas dauern.
-Hinzuladen...................(Control H)
An der Cursorposition wird eine Datei eingefügt. Ist ein Block
markiert, so wird dieser erst gelöscht, d.h. die Datei wird
anstelle des Blockes eingefügt.
-Schliessen..............(Control U - Tja, vielleicht "unopen" ?)
Falls der Text verändert wurde, aber noch nicht abgespeichert,
wird nachgefragt, ob dieses nachgeholt werden soll.
-Speichern....................(Control S)
Der Text wird unter seinem Dateinamen abgespeichert, das Fenster
bleibt aber offen, so dass der Text anschliessend weiter
bearbeitet werden kann.
-Speichern als................(Control M - Schlecht zu merken)
Es wird nach einem Dateinamen gefragt, unter dem der Text
gespeichert werden soll, anschliessend kann dieser Dateiname auch
als aktueller Textname verwendet werden.
-Fenster wechseln.............(Control W - Merke "Wechseln")
Ein anderes Fenster wird zum obersten und aktuellen Fenster.
-Drucken......................(Control P - Merke "Print")
falls ein Block markiert ist, wird nachgefragt, ob nur dieser
Block, oder der gesamte Text gedruckt werden soll. Siehe auch
unter EINSTELLUNG/AUSGABEFORMAT.
Ist der Drucker plötzlich nicht mehr bereit, erscheint eine
Warnbox, es wird aber weiterhin auf die Bereitschaft gewartet und
dann an der alten Stelle weitergedruckt, sonst kann man per
Tastendruck abrechen. Das ist gut für Drucker, die sich während
des Druckens länger als 30 Sekunden "Offline" schalten.
-Ende.........................(Control Q - Merke "Quit")
Mit geänderten Texten wird so verfahren, wie es in
EINSTELLUNG/PROGRAMMENDE eingestellt wurde.
Ein Verlassen des Editors ist auch mit Control + Nummernblock
möglich , dabei gibt die Nummer der Taste den Returncode
(0,...,9) an und alle Texte werden ohne Nachfrage gespeichert.
Das ist eventuell nützlich für Compiler- oder TeX-Shells, die in
Abhängigkeit des Returncodes bestimmte Aktionen ausführen.
2.2 BLOCK
=========
Grundsätzliches:
Die Blockfunktionen folgen dem Cut-Copy-Paste-Prinzip.
darunter versteht man folgendes:
Es lässt sich ein Textbereich markieren, dieser wird dann invers
dargestellt. Auf diesen markierten Textbereich lassen sich dann
die Blockfunktionen anwenden. So lässt sich der markierte Bereich
zB in den sogenannten Zwischenspeicher kopieren. Diesen
Zwichenspeicher kann man dann an beliebiger Stelle im Text einfügen.
Markieren eines Textbereiches:
a) mit der Maus:
-Ein Textbereich wird markiert, indem man die Maus an den
gewünschten Anfang fährt, die Maustaste gedrückt hält und zum
Ende fährt und dort die Taste loslässt. Der markierte Bereich
wird invers gekennzeichnet. Fährt man mit der Maus über den
Fensterrand, wird das Fenster entsprechend gescrollt.
-Hat man bereits einen Bereich markiert, so kann man mit erneutem
Mausklick, diesmal mit gedrückte Shifttaste, den Blockanfang/das
Ende an die Mausposition bewegen.
Ist noch kein Block markiert, kann man mit Shift+Maustaste den
Bereich zwischen Cursor und Maus selektieren.
-Macht man bei gedrückter Shifttaste einen Mausklick irgendwo in
den Text und ist noch kein Block markiert, wird der Text zwischen
Cursorposition und Mausposition markiert.
-Doppelklick auf eine Klammer markiert von dieser Klammer an bis
zur entsprechenden öffnenden/schliessenden Klammer (falls
vorhanden).
-Doppelter Mausklick zusammen mit der Controltaste oder
Dreifachklick selektiert einen Absatz. Dabei wird
EINSTELLUNG/FORMATIERUNG/ABSATZERKENNUNG zur Rate gezogen.
-Doppelklick auf ein Wort selektiert das Wort.
-ACHTUNG: Macht man einen Doppelklick in eine Zeile, die wie eine
Fehlermeldung aufgebaut ist (siehe EINSTELLUNG/FEHLERMELDUNGEN),
so wird nicht selektiert, sondern an die entsprechende
Fehlerstelle gesprungen.
b) mit der Tastatur
-Mit Control-A wird der Anfang des Blockes gesetzt. Im weiteren
Verlauf lassen sich zwar keine Buchstaben eingeben, aber der
Cursor lässt sich normal bewegen, wobei automatisch der bereits
markierte Text invers dargestellt wird. Nochmaliges Control-A
beendet diesen Modus (ausprobieren!!). Das Besondere ist, dass
alle Cursorbewegungen wie zB Marke anspringen, Zeile anspringen
und Shift/Control+Pfeiltasten auch im Selektionsmodus zur
Verfügung stehen.
c) Tastatur und Maus-Selektion lassen sich kombinieren.
Kommandos:
-Ausschneiden.................(Control X - "X" sieht aus wie
eine Schere)
Der markierte Bereich wird aus dem Text herausgenommen
(herausgeschnitten) und in den Zwichenspeicher gelegt. Falls kein
Bereich markiert, wird die aktuelle Zeile herrausgeschnitten.
-Kopieren.....................(Control C - "Merke Copy")
Der markierte Bereich wird in den Zwischenspeicher gelegt, bleibt
aber auch im Text erhalten. Falls kein Bereich markiert, wird die
aktuelle Zeile kopiert.
-Einfügen.....................(Control V - "V" sieht aus wie Spitze
einer Klebstofftube)
Der Zwischenspeicher wird an der Cursorposition in den Text
eingefügt (eingeklebt). Ist ein Block markiert, so wird der
Zwischenspeicher ANSTELLE dieses Blockes eingefügt, der vorherige
Block geht also verloren.
-Lösche Block / Zeile.........(Control Y - Stammt aus WordStar)
Falls kein Bereich markiert ist, wird die aktuelle Zeile, sonst
der markierte Bereich gelöscht. Das Löschen der aktuellen Zeile
kann durch UNDO rückgängig gemacht werden.
-Blockanfang..................(Control A - Merke "Anfang")
Macht die Blockselektion über Tastatur möglich:
Nach Control A ist man im Selektionsmodus, das bedeutet, dass
die aktuelle Cursorposition das Blockende markiert, während
die Position, an der Control A gedrückt wurde, den Blockanfang
markiert. Dieses wird durch inversen Text markiert.
In diesem Modus sind alle Cursorpositionierungsbefehle
(wie Shift+Pfeil) gültig.
Der Selektionsmodus wird durch nochmaliges Drücken von Control A
beendet.
Es ist natürlich nicht sinnvoll, diese Funktion mit der Maus
auszuführen. Sie steht lediglich der Vollständigkeit halber
und auch zur Erinnerung im Menü.
-Formatieren..................(Control Z - Merke "Zeilenumbruch")
Falls ein Block selektiert ist, wird dieser Block als ein Absatz
formatiert. Dabei wird ein einfacher Zeilenumbruch durchgeführt,
die Zeilenlänge ist unter EINSTELLUNG/FORMATIERUNG/ZEILENUMBRUCH
definiert. Der linke Rand wird durch die zweite Absatzzeile
bestimmt. Das ist praktisch, da die erste Zeile eines Absatzes
oft anders eingerückt ist als die anderen (zB bei numerierten
Absätzen).
Ist kein Block markiert, wird anhand
EINSTELLUNG/FORMATIERUNG/ABSATZERKENNUNG versucht, einen Absatz
an der Cursorposition zu erkennen. Dieser wird dann formatiert.
Der Cursor steht anschließend am Ende des Absatzes.
-Links/Rechts Einrücken.......(Control J oder K)
Falls ein Block markiert ist, kann er nach links oder nach rechts
eingerückt werden (Manuelles Einrücken). Der Grad des Einrückens
wird unter EINSTELLUNG/FORMATIERUNG/EINRÜCKEN festgelegt. Dieses
ist vor allem für blockstrukturierte Programmiersprachen
nützlich.
2.3 SUCHEN
==========
Zum Konzept:
Es wird nur zeilenorientiert gesucht, das heißt, daß der
Suchbegriff nicht über das Zeilenende hinaus gehen kann.
-Suchen......................(Control F - Merke "Finden")
Es wird nach einer Zeichenkette gesucht. Falls man mit Wildcards
suchen will, kann man '*' als Platzhalter für beliebige Zeichen
oder gar kein Zeichen setzen. '?' steht als Platzhalter für ein
beliebiges Zeichen. '*' und '?' lassen sich beliebig
kombinieren.
Ein Beispiel: Sucht man nach "Abc*defg?hi*jkl", so wird
"Abcdefg1hi123jkl" gefunden, aber nicht "Abcdefghijkl".
Ebenfalls wird "Abc123defg1hi123jk456jkl" gefunden, aber nicht
"Abc123defg1hi123jk456jk"
-weiter suchen...............(Control G - liegt neben "F")
Die in "Suchen" gemachten Angaben werden zu einer nochmaligen
Suche verwendet. Gelangt die Suchfunktion an das Ende, wird die
Suchrichtung umgedreht, aber es wird nicht weitergesucht,
sondern erst bei nochmaligem Control-G.
In EINSTELLUNG/BEDIENELEMENTE kann eingestellt werden, ob eine
Alertbox erscheinen soll, falls der Begriff nicht gefunden
wurde.
-Selektion suchen............(Control I)
Ist ein Teil einer Zeile selektiert, so wird dieser in die
"Suche"-Dialogbox übernommen und diese wird aufgerufen.
Ist nichts selektiert, so wird das Wort selektiert, auf dem der
Cursor steht.
-Ersetzen....................(Control R - Merke "Replace")
Hier gilt Ähnliches wie bei "Suchen". Gibt man bei dem Text, der
den gefundenen Text ersetzen soll, ebenfalls Wildcards an, so
werden die entsprechenden Wildcards des Suchbegriffes zu Rate
gezogen und anhand dieser der gefundene Text eingesetzt.
Ein Beispiel: Sucht man nach "Abc*defg?hijkl" und will das durch
"Mnopqrstuvw*x?yz" ersetzen, so wird "Abc123defg4hijkl" durch
"Mnopqrstuvw123x4yz" ersetzt. Ebenso wird "Abcdefg1hijkl" durch
"Mnopqrstuvwx1yz" ersetzt.
-weiter ersetzen.............(Control T - liegt neben "R")
Hier gilt Ähnliches wie bei "weiter suchen".
-gehe zu Zeile...............(Control L - Merke "Line")
-passende Klammer............(Control B - Merke "Bracket/Brace")
Falls der Cursor auf einer Klammer steht (ist der Cursor ein
Strich, muss er links neben der Klammer stehen), wird zu der
passenden öffnenden/schliessenden Klammer gesprungen, falls
diese existiert. Falls nicht, ertönt ein Warnton.
-suche Fehler...............(Control E - Merke "Error")
Die Zeile unter der sich der Cursor befindet wird daraufhin
untersucht, ob sie einer der Musterfehlermeldung der Dialogbox
EINSTELLUNG/FEHLERMELDUNGEN genügt. Falls ja, so wird die
entsprechende Datei geladen und in die Fehlerzeile gesprungen.
Ist die Datei schon geladen, wird das Fenster nach vorne geholt.
Die Funktion "suche Fehler" kann auch durch Doppelklick mit der
Maus auf eine Zeile aufgerufen werden.
-gehe zu Marke...............(Shift + Funktionstaste - Merke:
"Die Marke wird aufgeSucht")
-setze Marke.................(Control + Funktionstaste - Merke:
"Die Marke wird Controlliert")
Es lässt sich eine von zehn Marken setzen, die mit der
vorherigen Funktion wieder aufgesucht werden können. Es wird
versucht, die Marken bei entsprechenden Einfüge/Lösch-
Operationen mitzuführen.
2.4 FENSTER
===========
-Alle untereinander..........(Alternate U)
Alle Fenster werden untereinander angeordnet.
-Alle nebeneinander..........(Alternate N)
-Alle gestaffelt.............(Alternate G)
Die Fenster werden gestaffelt angeordnet.
-Aktuelles volle Grösse......(Alternate V)
Diese Funktion ist eigentlich nur für den Tastaturbetrieb
interessant und steht nur der Vollständigkeit halber hier.
2.5 EINSTELLUNGEN
=================
-Einfügen....................(Insert)
Einfügemodus AN.
Eingetippte Zeichen werden an der Cursorposition eingefügt.
-Überschreiben...............(Shift + Insert)
Einfügemodus AUS.
Das Zeichen an der Cursorposition wird von eingetippten Zeichen
überschrieben.
-Gem-Klemmbrett AN...........(Alternate K)
Das Gem-Klemmbrett wird für die Blockoperationen benutzt. Dazu
muss natürlich der SCRAPPFAD definiert sein. Dieses macht
Everest jedoch nicht, dafür sollte ein Hilfsprogramm zuständig
sein. (Etwa das Klemmbrettaccessory oder auch Gemini) Der Sinn
des Klemmbrettes ist der Datenaustausch mit anderen Programmen,
die dieses auch benutzen.
-Gem-Klemmbrett AUS..........(Alternate L - liegt neben "K")
Der Zwischenspeicher für die Blockoperationen befindet sich im
Arbeitsspeicher. Dieses ist natürlich schneller als wenn das
Klemmbrett, das ja eine Datei auf der Harddisk ist, benutzt
wird.
-Bedienelemente..............(Alternate B)
-Cursor: Es lässt sich die Darstellung des Cursors ändern.
Sinnvoll ist eigentlich nur die Modusabhängige Darstellung,
dabei wird nämlich der Cursor im Einfügemodus als Strich und im
Überschreibemodus als Block dargestellt. Der Cursor sollte
blinkend eingestellt sein, damit man ihn schneller findet und
damit er in der Überschreibedarstellung von einem Block
unterscheidbar ist. Außerdem läßt sich einstellen, ob in der
Kopfzeile des Fensters die aktuelle Cursorposition angezeigt
werden soll. Aus Geschwindigkeitsgründen wird diese Anzeige
jedoch nur in einer "tippfreien" Pause aktualisiert.
-Fenster: Falls der Rollbalken (das ist die Anzeige an den
Fensterrändern, an der man die Position im Text ablesen kann)
nur in einer Pause aktualisiert wird, hat man einen leichten
Geschwindigkeitsvorteil.
-Dialoge: Dialoge lassen sich zentriert oder an der Mausposition
darstellen.
-Dialogbox für "Suchbegriff nicht gefunden": Für Leute, die den
Pure-C Editor nicht gewöhnt sind, oder die den Warnton bei
mißglücktem Suchen nicht hören, gibt es jetzt eine Alertbox für
den Fall, daß ein Suchbegriff nicht gefunden wurde.
-Zeichensatz.................(Alternate Z)
Falls GDOS installiert ist, lassen sich andere, jedoch nur nicht
proportionale Zeichensätze einstellen (Das sind solche, bei
denen alle Zeichen die gleiche Breite haben). Allerdings lässt
sich nur ein Zeichensatz für alle Fenster einstellen. Dieses ist
vor allem dafür nützlich, falls man in den normalen
ST-Auflösungen 80x25 Zeichen in einem Fenster darstellen will.
Bei manchen Zeichensätzen gibt es bei der inversen Darstellungen
Probleme, das liegt meines Wissens jedoch daran, dass bei diesen
Zeichensätzen irgend ein Wert falsch gesetzt ist. Solche
fehlerhaften Zeichensätze lassen sich mit dem Programm FONTFIX
korrigieren.
Sehr zu empfehlen sind die Gemini-Zeichensätze. Falls kein GDOS
installiert ist, lässt sich lediglich die Grösse des
Systemzeichensatzes verstellen. Wird diese Dialogbox das erste
Mal aufgerufen, und sind viele Zeichensätze geladen, so kann es
etwas länger dauern, da die Zeichensätze analysiert werden. Das
erspart Wartezeit beim Programmstart.
-Formatierung................(Alternate F)
-Zeilenumbruch: Ist "Zeilen umbrechen" eingeschaltet, so wird,
falls der Cursor beim Tippen über den rechten Rand hinauskommt,
die Zeile umgebrochen. Die "Zeilenlänge" legt den rechten Rand
fest, der auch beim Formatieren von Asätzen von Bedeutung ist.
-Absatzerkennung: Hier wird festgelegt, wie Absätze erkannt
werden:
"Zusätzliches CR am Ende" bedeutet, daß am Absatzende zusätzlich
CR steht. Dieses zusätzliche CR läßt sich durch Shift+Return
erzeugen. Auf jeden Fall wird diese Einstellung nicht besonders
gut von Everest unterstützt.
Besser ist "kein Leerzeichen am Zeilenende". Das bedeutet, daß
nach jeder Zeile, die nicht die letzte Zeile eines Absatzes ist,
ein Leerzeichen am Zeilenende steht. Nur die letzte Zeile eines
Absatzes hat kein Leerzeichen am Zeilenende. Everest formatiert
Absätze so, daß diese Konvention eingehalten wird. Benutzt man
diese Absatzkennung, muß man darauf achten, daß unter
EINSTELLUNG/AUSGABEFORMAT "Leerzeichen am Zeilenende löschen"
ausgeschaltet ist, da sonst die Absatzkennungen ja beim
Speichern verlorengehen.
Unproblematisch ist auch "Leerzeile trennt Absätze", weil man
hier genau erkennen kann, wo ein Absatz zu Ende ist.
-Einrücken:
Beim Blockweisen Einrücken wird ein gesamter markierter Block
eingerückt. Das kann jeweils einen Tabulator weit oder eine
Anzahl von Leerzeichen sein, aber auch eine beliebige Zeichen-
kette. So lassen sich bei einer grossen Anzahl von Zeilen am
Anfang jeder einzelnen bestimmte Zeichen einfügen. Das ist zB
für Antworten auf Mailboxbriefe interessant, bei denen Zitate
des ursprünglichen Briefes am Anfang jeder Zeile durch ein ">"
markiert werden. Hat man also den alten Brief in einem anderen
Text, kopiert man das Zitat in den eigenen Brief und braucht dan
nur noch Control-K zu tippen, und schon ist das Zitat markiert.
"Automatisches Einrücken" bedeutet, dass nach einem Return der
Cursor genau an der Stelle steht, an der die vorherige Zeile
beginnt.
-Tabulatoren.................(Alternate T)
Die Tabulatorweite lässt sich in Abhängigkeit der Dateiextension
einstellen.
-Fehlermeldungen..............(Alternate E - Merke "Error")
Hier können Musterfehlermeldungen eingegeben werden. Es können
Platzhalter für Dateinamen und Zeilennummer definiert werden.
Macht man einen Doppelklick in eine Zeile oder drückt Control-E,
so wird überprüft, ob diese Zeile wie eine der
Muster-Fehlermeldungen aufgebaut ist. Falls ja, so wird der
Dateiname und die Zeilennummer herausgelesen und an die
entsprechende Stelle gesprungen. Ist in einer
Musterfehlermeldung keine Zeilennummer aufgeführt, so wird in
die erste Zeile der Datei gesprungen. Ist kein Dateinamen
definiert, so wird, falls nur eine Datei geladen ist, in die
Zeile dieser Datei gesprungen, -- falls mehrere Dateien geladen
sind, wird in eine andere verzweigt (Also nur bei zwei Dateien
sinnvoll).
-Ausgabeformat................(Alternate A)
-Speichern:
Hier ist darauf zu achten, daß "Leerzeichen am Zeilenende
löschen" ausgeschaltet ist, falls man Absätze anhand von
Leerzeichen an Zeilenenden erkennen will.
-Drucker:
Es läßt sich ein linker Rand definieren. Außerdem kann
eingestellt werden, daß nach einer bestimmten Anzahl von Zeilen
Formfeed gedruckt wird. Der Atarizeichensatz unterscheidet sich
vom gebräuchlichen IBM Zeichensatz vor allem dadurch, daß das
'ß' einen anderen Code hat. Das führt dazu, daß Drucker das 'ß'
nicht richtig darstellen. Daher muß Everest in diesem Fall das
Zeichen umwandeln.
-Text-Listen.................(Alternate W)
Eine Text-Listen-Datei ist eine Standard-ASCII Datei, in der in
jeder Zeile Dateinamen mit vollem Pfad stehen. Falls Everest
eine Textliste abspeichert, werden in diese alle Dateinamen von
gerade geladenen Texten geschrieben. Nicht berücksichtigt werden
Texte ohne Namen. Hinter dem Dateinamen folgen optional
Cursorzeile/spalte,x,y,Breite,Höhe des Fensters bezogen auf
1000. Diese Parameter können von Rechts beginnend weggelassen
werden. Falls Everest eine Textliste lädt, werden diese Texte
mit eventueller Berückschtigung der Parameter geladen.
Nun zu den Buttons:
-Text-Liste laden: Aktuelle Texte:
-Alle abspeichern: Alle aktuellen Texte werden geschlossen.
Falls einer verändert wurde, wird er ohne
Nachfrage abgespeichert.
-Einzeln abfragem: Alle aktuellen Texte werden geschlossen.
Falls einer verändert wurde, wird nachgefragt,
ob er abgespeichert werden soll.
-Neue dazuladen: Die aktuellen Texte werden nicht gechlossen.
-Text-Liste speichern:
siehe obige Erklärung.
Beim Programmstart versucht Everest die Standard Textliste
"EVEREST.LIS" zu laden, falls in der Kommandozeile keine Dateien
angegeben worden sind.
-Programmende................(Alternate Q -merke Quit)
-veränderte Texte speichern: Am Ende werden ohne nachzufragen
alle geänderten Texte gespeichert, allerdigs wird bei
namenlosen Texten doch nachgefragt. Genauso wird auch
verfahren, falls Everest mit Control + Nummernblock
verlassen wird, wobei die Tastennummer den Returncode
angibt.
-einzeln nachfragen: Klar.
-Komplettnachfrage: Am Programmende erscheint eine Dialogbox, in
der alle Texte angezeigt werden. Nicht veränderte Texte
werden hell gerastert dargestellt. Geänderte Texte
können angekreuzt werden. Nun kann man entweder "alle
geänderten Texte speichern", oder "keinen Text
speichern" oder "Angekreuzte Texte speichern" anwählen.
-Einstellungen in INF-Datei speichern: Die Infodatei wird
automatisch am Programmende gespeichert.
-EVEREST.LIS abspeichern: Nach einem erneuten Start von Everest
wird diese Text-Liste automatisch geladen, d.h., daß
man dann alle Fenster so vorfindet, wie man sie
verlassen hat.
-Speichern...................(Alternate S)
Die obigen Einstellungen und die Fensterkoordinaten werden in
EVEREST.INF, der sogenannten INF-Datei gespeichert (siehe auch
oben, unter "Start von Everest").
2.6 INFOS
=========
-Textbelegung................(Alternate I)
Es wird die momentane Belegung des Speichers mit Texten
angezeigt. Klickt man auf einen der Texte mit der Maus oder
drückt man die entsprechende Funktionstaste, so wird das
zugehörige Fenster nach vorne geholt. Hinter jedem Text wird
angezeigt, wieviel Speicher momentan für denselben reserviert
ist.
-Bedienung...................(Shift+Help)
Es werden Hilfen zur Benutzung der Maus und der Tastaur gegeben,
um Funktionen zu nutzen, die nicht aus den Menüs ersichtlich
sind. Für diese Funktion wäre Help ohne Shift sicherlich besser
gewesen, doch wenn man ein Help-Accessory benutzt, wird dieses
im späteren Verlauf sehr hinderlich, also doch Shift+Help.
-Help-Acc....................(Help)
Ist das Turbo-Help-Accessory installiert, so wird an dieses das
Wort übergeben, auf dem der Cursor steht. Bei dem Help-Accessory
handelt es sich um ein Programm, das bei Turbo/ Pure C
mitgeliefert wird, und das die Onlinehilfe aus diesem
Entwicklungspacket auch anderen Programmen zur Verfügung stellt.
Wird das Turbo-C oder das Pure-C Help-Accessory nicht gefunden,
wird auch noch nach "1STGUIDE", sowie nach "HELP" gesucht.
**************************************************************************
3. T A S T A T U R - B E L E G U N G
**************************************************************************
Zum Konzept:
Bei Pfeiltasten sowie Backspace und Delete gilt:
Control bedeutet Wortweise Operation,
Shift bedeutet Operation bis zum Zeilenanfang/-ende.
Bei Insert und Home:
Shift bewirkt das Gegenteil von Insert/Home.
Im folgenden werden spezielle Tasten und ihre Funktion aufgelistet:
UNDO...............................Zeile wiederherstellen oder
Blockoperation rückgängig machen. Es werden jedoch
nur "Herausschneiden", "Einfügen", "Löschen" und
"Hinzuladen" berücksichtigt. "Einrücken" und
"Formatieren" können nicht rückgängig gemacht
werden.
Shift + LINKS,RECHTS.............Cursor an Zeilenende/anfang
Control + LINKS,RECHTS.............Cursor Wort vor/zurück
Shift + Control + LINKS,RECHTS...Fensterinhalt links/rechts
verschieben
Shift + HOCH,RUNTER..............Text seitenweise hoch/runter
Control + HOCH,RUNTER..............Cursor an obere/untere sichtbare
Zeile
Shift + Control + HOCH,RUNTER....Fensterinhalt hoch/runter ver-
schieben
Shift + BACKSPACE................Von Corsurposition bis zum
Zeilenanfang löschen.
Control + BACKSPACE................Von Cursorposition bis zum
vorherigen Wortanfang löschen.
Shift + DELETE...................Von Cursorposition bis zum
Zeilenende löschen.
Control + DELETE...................Von Cursorposition bis zum
nächsten Wortanfang löschen.
HOME...............................Cursor an Textanfang
Shift + HOME.......................Cursor an Textende
ALTERNATE + NUMMERNBLOCK...........Zeicheneingabe über ASCII-Code
CONTROL + NUMMERNBLOCK.............Der Editor wird verlassen, dabei
gibt die Nummer der Taste den Returncode (0,...,9)
an und alle Texte werden ohne Nachfrage gespeichert.
FUNKTIONSTASTE.....................Holt das Fenster mit der entspr.
Nummer nach vorne.
**************************************************************************
4. D I A L O G E
**************************************************************************
Alle unterstrichenen Buttons können durch Betätigen der
entsprechenden Taste plus Alternate aktiviert werden. Das Feld in
der rechten oberen Ecke eines Dialoges dient dazu, hinter diesen zu
schauen. Die UNDO Taste macht Eingaben in Textfeldern rückgängig.
Shift+Pfeillinks/rechts: der Cursor springt in Textfeldern an den
Zeilenanfang/ ans Zeilenende.
**************************************************************************
5. A V - P R O T O K O L L
**************************************************************************
Genauere Informationen zum AV-Protokoll finden sich in der Gemini
Dokumentation.
Everest versteht AV_SENDKEY und AV_OPENWIND. Ein anderes Programm
kann Everest Tastendrücke senden, wenn "mbuf" folgendermaßen belegt
wird:
mbuf[0] = Nachrichtennummer AV_SENDKEY=0x4710
mbuf[1] = ap_id des Senders
mbuf[2] = 0
mbuf[3] = Tastaturstatus
mbuf[4] = Scancode der gedrückten Taste (wie von evnt_multi
geliefert, also mit ASCII-Code in Bit 0..7, Scan-Code
in Bit 8..15)
Ebenso kann man mit AV_OPENWIND die Dateiauswahlbox von Everest
aufrufen:
mbuf[0] = Nachrichtennummer AV_OPENWIND=0x4720
...
mbuf[3] und mbuf[4] = Pointer auf den Pfad
mbuf[5] und mbuf[6] = Pointer auf Wildcard
(So kann zB Treeview mit Everest kommunizieren).
Mit VA_START kann ein anderes Programm Everest eine Kommandozeile
übermitteln.
mbuf[0] = Nachrichtennummer VA_START=0x4711
...
mbuf[3] und mbuf[4] = Pointer auf Kommandozeile
Das bringt unter der Multitaskingerweiterung Mag!X folgenden
Vorteil: hat man Everest gestartet, so kann man beliebige Dateien
auf das Everest-Icon ziehen, die Everest dann lädt, ohne neu
gestartet zu werden.
Dieses funktioniert leider nicht unter MultiGem2, da dieses als
VA_START angemeldete Programme überhaupt nicht mehr startet, auch
wenn sie momentan nicht geladen sind. Die Nachricht "VA_START" wird
dann anscheinend ins Leere geschickt.
**************************************************************************
6. V E R S I O N E N
**************************************************************************
Version 0.0
-Ganz alte Version, noch ohne Tastaturunterstützung bei Dialogen.
Version 1.0 5.4.1992
-Erste, richtige Version. Ab dieser Version ist Everest Shareware.
Version 1.1 12.4.1992
-Kleinere Fehler bei Speicherverwaltung behoben.
-Blockeinfügen optimiert.
Version 1.2 17.5.1992
-Fehler bei blockweisem Einrücken behoben.
-OK-Buttons können jetzt auch mit Ziffernblock-"Enter"
betätigt werden.
-EVEREST.INF wird, falls "EVEREST" nicht im Environment
definiert ist, jetzt auch nach dem "PATH" Eintrag im Environ-
ment und mit shel_find gesucht.
-Die Einstellung von Suchen/Ersetzen (Gross/Klein, Alles ersetzen)
wird mit in die Info-Datei gespeichert.
-Mit Control-B kann der Cursor zur nächsten öffnenden/
schliessenden Klammer springen.
-Der Porgrammteil, der das Cursornachlaufen verhindert,
schluckt jetzt bei schnellem Tippen keine Zeichen mehr.
-Blockweises Einrücken erweitert.
-Falls kein Block markiert, gilt die Operation für Zeile.
Version 1.3 8.6.1992
-Fehler beim Scrollen in Verbindung mit Control-Y behoben.
-Fehler bei Tastaturabfrage behoben.
-Drucken jetzt über Gemdos-PRN:, um Fehlern bei Multitasking
vorzubeugen.
-optionale Zeilen/Spalten Anzeige der Cursorposition.
-Bei der "Erweiternden Selektion" über Maus mit Shifttaste ist
jetzt auch das Scrollen wie bei normaler Selektion möglich.
Version 1.4 14.6.1992
-Kleinere Fehler bei Blockselektion mit Maus behoben.
-Umfangreiche Änderung beim Textladen und bei der internen
Darstellung und Verwaltung. Die Ladegeschwindigkeit konnte
nahezu verdoppelt werden.
Version 1.5 22.7.1992
-Fehler beim Zeichensatzwechsel behoben.
-Neben TC_HELP wird jetzt auch nach PC_HELP gesucht.
-Cursorblinken jetzt abstellbar.
-Das Programmende kann frei gestaltet werden.
-Text-Listen ermöglichen das Abspeichern von kompletten
Arbeitsumgebungen.
-Fehler bei Tastaturwiederholung behoben.
-Verarbeitung von Fehlerlisten, die von Compilern generiert
werden.
-Die Speichergeschwindigkeit konnte fast verdoppelt werden.
-Druckereinstellung.
-Zwei schwerwiegende, tiefgreifende Fehler beim Textladen
behoben.
Version 2.0 15.9.1992
-Endlich: Halbautomatischer Zeilenumbruch.
-Fenster jetzt vollständig im Hintergrund bedienbar (zB mit
WINX2).
-Das "Disabeln" der Menüeinträge geschieht jetzt nicht mehr
direkt im Objektbaum, sondern zur Sicherheit über
"menu_ienable" (Ist natürlich langsamer).
-Tastaturabfrage verbessert (Es werden jetzt beim Tippen unter
vollbeschäftigtem MultiGem keine Zeichen mehr verschluckt).
-Fehler beim Programmstart behoben.
-Sehr schwerwiegenden Fehler beseitigt, der mitten bei der
Texteingabe zum plötzlichen Absturz führen kann (Adress-Error).
-Fehler behoben, der dazu führte, daß nach dem Bewegen einer
Dialogbox der Speicher nicht freigegeben wurde.
-Für den Fall, daß ein Suchbegriff nicht gefunden wurde, kann
jetzt eine Alertbox dargestellt werden.
-Wildcards beim Suchen UND beim Ersetzen.
-Peinlichen Fehler behoben, der bei Zeilennummern größer als
32000 in Verbindung mit der Cursorpositionierung per Maus
auftrat.
-Everest versteht jetzt AV_SENDKEY, AV_OPENWIND und VA_START.
-Verbesserte Abfrage während des Drucken auf Druckerbereitschaft.
Die Druckausgabe geht jetzt leider wieder über "Cprnout", da es
bei "Fwrite" Probleme mit der Druckerbereitschaft gab.
-Neben "TC_HELP" und "PC_HELP" wird jetzt auch nach "1STGUIDE"
gesucht.
Version 2.1 17.10.1992
-Beim Scrollen wird die Maus nun mit "evnt_multi" anstatt mit
"graf_mkstate" überprüft. Daher besteht schon die Chance, daß
Everest irgendwann mit noch nicht existierenden WINX Versionen
zusammenarbeiten wird.
-Speicherverwaltungsfehler behoben, der darin bestand, daß
Everest öfter genau ein Byte über das Ende eines seiner
Speicherblöcke hinaus geschrieben hat. Das führte unter MAG!X zu
Fehlermeldungen, und könnte auch andere Programme beschädigen.
-Überarbeitung der Blockfunktionen, dabei einige Fehler
beseitigt.
-Hinzuladen von Dateien.
-UNDO-Funktion jetzt auch für Zeilenlöschen mit CTRL-Y.
Version 2.2 2.1.1993 und 16.1.1993
-Beim Selektieren mit Maustaste wird die Scrollgeschwindigkeit
größer, wenn der Mauszeiger weiter vom unteren/oberen
Fensterrand entfernt ist.
-Mit Selectric können jetzt auch mehrere Dateien auf einmal
ausgewählt werden, wenn man eine Datei laden will.
(Nachbesserung hierzu am 16.1.1993).
-Falls man noch keinen Block selektiert hat, kann man bei
Shift+Maustaste die Maustaste gedrückt halten. Vorher
funktionierte Shift+Maustaste ohne vorherigen Block nur, wenn
die Maustaste auch gleich wieder losgelassen wurde.
-Redraw-Fehler in Verbindung mit Fensteränderung unter KAOS
(hoffentlich) beseitigt.
-"Selektion suchen" funktioniert jetzt auch, falls nichts
selektiert ist. In diesem Falle wird das Wort, auf dem der
Cursor steht, selektiert.
-Verbreiterter Accessory-Eintrag.
-Mit Control + Nummernblock kann Everest verlassen werden, dabei
gibt die Nummer der Taste den Returncode (0,...,9) an und alle
Texte werden ohne Nachfrage gespeichert.
Version 2.3 17.4.1993
-Kleinen Fehler beim Hinzuladen von Dateien behoben.
-In der Dialogbox INFOS/ TEXTBELEGUNG läßt sich jetzt der
gewünschte Text direkt mit der Funktionstaste anwählen.
-Fehler behoben, der in Verbindung mit Selectric auftrat.
-Wird ein Fenster verkleinert, so wird ab jetzt versucht, den
sichtbaren Bereich so anzupassen, daß der Cursor an seiner alten
Position stehen bleiben kann.
-Auf vielfachen Wunsch hin verhält sich Everest jetzt beim
Programmstart so, daß nie gleichzeitig die Textliste
"EVEREST.LIS" und die Kommandozeile ausgewertet werden. Die
Kommandozeile hat Vorrang vor der Textliste.
-Parameterübergabe von Kommandozeile und über VA_START
überarbeitet.
-UNDO-Funktion für Blockoperationen "Herausschneiden",
"Einfügen", "Löschen" und "Hinzuladen".
**************************************************************************
7. U N D J E T Z T: das unvermeidliche Kapitel
**************************************************************************
Das Sharewareprinzip ist eines der fairesten gegenüber dem Kunden,
das ich kenne. Jeder kann das Programm in Ruhe testen, um dann zu
entscheiden, ob er es braucht oder nicht. Das ist bei
professionellen Programmen oft nicht möglich, und man stellt erst
nachdem man viel Geld ausgegeben hat fest, daß man es sich hätte
sparen können. Gerade ein Editor ist eine große Geschmacksfrage,
weswegen es auch so viele verschiedene gibt.
Everest ist Shareware. Jeder darf das Programm privat weitergeben,
jedoch dürfen Public Domain Versande oder ähnliches Everest nur mit
meinem Einverständniss vertreiben.
Wer Everest benutzt, muß jedoch den Sharewarebeitrag von zwanzig
Mark zahlen. Zum einen ist dies natürlich der Lohn dafür, daß
Everest überhaupt geschrieben wurde, zum anderen ermöglicht der
Sharewarebeitrag die Weiterentwicklung. Everest wird ständig
weiterentwickelt. So werden ständig kleinere Fehler behoben und
Funktionen verbessert.
Wer auf seiner Überweisung deutlich seine Adresse angibt, der ist
automatisch registrierter Anwender und darf jederzeit eine
formatierte Diskette mit ausreichend frankiertem Rückumschlag
einsenden, um die allerneueste Version zu bekommen. Als Alternative
dazu kann man mir auch fünf Mark zukommen lassen. Es empfiehlt
sich, auf der Überweisung neben seiner Adresse auch die
Versionsnummer des benutzten Everest mit anzugeben. Falls mehr als
zwanzig Mark überwiesen werden, sollte man angeben, ob das
überzählige Geld zum Zusenden von Updates verwendet werden soll.
Ich bin darauf angewiesen, daß mir von gefundenen Fehlern berichtet
wird, da ich nicht alle möglichen Konfigurationen selbst
ausprobieren kann und auch oft Fehler übersehe. Falls ein Fehler
aufgetreten ist, sollte dieser so genau wie möglich mit allen
Begleitumständen beschrieben werden. Auf jeden Fall sollte man auch
die Versionsnummer von Everest angeben, mit der der Fehler passiert
ist.
Oliver Schmidt Kreissparkasse Ostholstein
Haselredder 23 Kontonummer : 127.010.643
2420 Eutin Bankleitzahl: 213.522.40
ab 1.7.1993 gilt die neue Postleitzahl: 23701 Eutin
**************************************************************************
Für die Freunde der DFÜ sei noch gesagt, daß Fehlermeldungen und
Hinweise aller Art auch an folgende Adresse geschickt werden
können:
Christian Dalichow @ KI im Maus-Netz
**************************************************************************
EOF