7. History
7.1. History Funktion
Die Eingabe-Funktion in Status-Zeile 2 kennt verschiedene Typen von
Input-Strings (siehe Kapitel "History File"), von denen jeder einen
eigenen History-Buffer hat. Dieser Buffer wird (im Verlauf einer String-
Eingabe in Status-Zeile 2) mit Cursor Up / Down zum Vorschein gebracht.
In der Mitte des Bildschirms erscheint ein Fenster mit den letzten 16
Einträgen für diesen String-Typ. Die Einträge sind in der Reihenfolge
ihrer Benutzung sortiert - der letzte in der untersten Zeile. Dies ist
anfangs auch die selektierte Zeile (durch inverse Darstellung hervorgehoben).
Bedienung wie folgt:
- Cursor Up / Down
Die selektierte Zeile wird nach oben / unten verschoben.
- <esc> / ^C
Abbruch der History-Funktion, die alte Status-Zeile 2 bleibt erhalten.
- <cr>
Die aktuell selektierte History-Zeile wird in die Status-Zeile 2
übernommen und kann dort weiter editiert werden.
- <Del> / <Entf>
Die selektierte Zeile wird aus dem History Buffer gelöscht.
- <Ins> / <Einfg>
Die selektierte Zeile wird gegen Löschen verriegelt / freigegeben
(durch eine Markierung vor der Zeile erkennbar).
7.2. History File
Der History Buffer wird nach dem Starten des Editors vom File MBEDIT.HST
gelesen und vor dem Beenden wieder zurückgeschrieben. Auf diese Weise bleiben
History-Einträge auch über längere Unterbrechungen hinweg erhalten.
Der File befindet sich auf der User-Home-Directory, bestimmt durch die Umge-
bungsvariable ":HOME:" bzw. "HOME" (siehe auch Kapitel "Umgebungsvariablen").
MBEDIT.HST ist ein ASCII-File, der selbst wieder editiert werden kann, wobei
der End-of-String-Character '\0' am Ende jeder Zeile stehen muß.
- Format der Einträge im History-File :
3 1:the quick brown fox ...'\0'<cr><lf>
| ||| | |
| ||| | +-- zum leichteren Editieren
| ||| | mit einem Text-Editor
| ||| |
| ||| +-- Ende des Strings
| |||
| ||+-- Text mit allen ASCII-Charactern außer '\0'
| ||
| |+-- Markierung für Start des Text-Strings
| |
| +-- 1 = löschen verriegelt, 0 = löschen erlaubt
|
+-- History-Kennung (z.B.: 3 = "Find" History)
- Liste der History-Kennungen
Id | Eingabe-String-Typ
-----+---------------------
0 | Filename (Quit Init / Write, Get / Put File, Get Macro-File)
1 | Set Margin
2 | Numerical Inputs (Hex Input, File Number, Left Column, Tabs,
| View Row, Jump Line, Jump Position)
3 | Find
4 | Replace
5 | System ("!")
6 | Calc
7 | Macro (Create / Delete / Save / Execute)
7.3. Status File
Beim Verlassen von mbedit wird die aktuelle File-Zusammenstellung auf einem
speziellen File "MBEDIT.STA" auf der aktuellen Directory abgespeichert. Wenn
mbedit mit dem Kommando "mbedit -" oder "mbedit last_again" aufgerufen wird,
wird dieser File benutzt, um die gleiche File-Zusammenstellung wieder herzu-
stellen, inklusive Schreibschutz und der letzten Cursor-Position.
- Format der Einträge (max. 10) im Status-File :
0 MBEDIT.C 5078
0 SWITCHES.C 75622
1 HISTORY.H 1260
0 ..\INCL\DATA.H 335
| | |
| | +-- Cursor-Position im File
| +-- Pfadname / Filename
+-- 1 = View Only
Bis Zur Version 7.05 wurde der Status File "mbedit.sta" in jeder aktuellen
Directory angelegt. Daher gab es eine wahre Inflation dieser Files. Viele
Anwender haben sich darüber beklagt, deshalb beschloß ich, das Verhalten
dieses Status Files zu modifizieren.
Seit Version 7.06, existiert nur noch ein Status File "mbedit.sta" auf der
User-Home-Directory. Der Nachteil dieser Tatsache ist, daß man jetzt von der
Option "mbedit - " or "mbedit last_again" nur noch Gebrauch machen kann,
solange man auf derselben Directory arbeitet. Ich denke, mit dieser Ein-
schränkung kann man leben.
Das alte oder neue Verhalten kann mit der #define-Konstanten "WITH_LAST_AGAIN"
im Header-File "config.h" angewählt werden (siehe dort !).