ED
.B 1
Aanroep: ED
.B 1
Functie: Text Editor.
.B 1
    Ed is een COSNIX aanpassing van de Piet Hein texteditor.
De tekst waarop hij werkt bevindt zich in het geheugen,
startend op adres $3E00.
Wanneer we ED voor het eerst aanroepen initialiseerd hij
voor zichzelf een lege tekst buffer op dit adres.
Als zich reeds een tekst in het geheugen bevond op
deze plaats,
(b.v. door een vorige ED-sessie),
dan laat hij deze onaangeroerd.
We kunnen dus tijdens het editten rustig ED verlaten
(m.b.v. 'Q'),
en er later weer in terug keren.
De tekst die we aan het editten zijn wordt slechts
op een file bewaard wanneer we hier expliciet opdracht toe
geven met een 'W' commando.
Verder zijn er commando's om een file in de buffer te
lezen (R), tekstregels tussen te voegen (I) of
te verlengen (V,A),
tekstregels weg te gooien (D,K),
weggegooide tekst terug te halen (U),
teksten op te zoeken (F) en te vervangen (S,X).
Bovendien is er een commando om een nieuwe tekstbuffer te
initialiseren,
als we met een andere file verder willen gaan (control C,
zodat het niet gemakkelijk per ongeluk gedaan wordt).
.BR
Wanneer we ED starten, dan print hij de eerste regel
van de tekstbuffer op het scherm.
We zijn dan als het ware 'bovenin' onze tekst bezig,
d.w.z. dat commando's die we geven op deze regel
invloed uitoefenen.
We kunnen door de tekst heen stappen door het typen van returns.
ED print dan telkens de volgende regel op het scherm.
In het vervolg zullen we de regel die het laatst
door ED geprint is aanduiden met de naam 'current line'.
De precieze werking van de commando's is als volgt:
.NF
.LL 80
<^C> Gooi alle tekst te beginnnen met de current line weg.
     Voeg daarna een lege regel aan de buffer toe.
     Positioneer daarna de current line op de 1e regel.
<ret> Stap naar de volgende regel. Aan het einde van de buffer
     geeft dit aanleiding tot een foutmelding.
-    Stap naar de vorige regel. blijf zo nodig op de 1e.
D    (Delete)
     Gooi de current line weg. (De laatste (lege) regel
     is nodig voor de juiste werking van ED, en kan
     niet verwijderd worden).
     De weggegooide regel wordt in de 'Undelete buffer' gezet.
     Current line wordt de regel na de verwijderde.
K    (Kill)
     Als D, maar voegt de weggeooide tekst toe aan de
     'Undelete buffer', i.p.v. de tekst daar te vervangen.
     Deze buffer kan maximaal ca. 7 lange regels bevatten;
     als hij te vol is levert gebruik van K een foutmelding.
U    (Undelete)
     Plaats de eerder weggegooide tekst vanuit de Undelete
     buffer net boven de huidige regel. Dit kan meermaals
     herhaald worden op verschillende plaatsen. Gebruik
     van het I commando overschrijft de buffer.
F    (Find)
     Lees een regel tekst (afgesloten met return), en zoek
     naar het voorkomen van deze tekst. Wordt hij gevonden
     dan wordt de regel waarin hij voorkwam de current line,
     anders dan wordt een foutmelding geprint en blijven
     we op de oude positie.
     N.B. control D in de opgegeven tekst wordt geinter-
          preteerd als een carriage return, zodat we op die
          manier naar tekst verdeeld over meerdere regels
          kunnen zoeken.
     De positie van de gevonden tekst wordt onthouden,
     en de tekst zelf wordt in reverse video afgedrukt.
     (Als uw terminal dit tenminste doet voor characters
     waarvan het sign-bit 1 is).
     We zeggen dat de zojuist gevonden tekst 'tussen de
     pointers staat'.
I    (Insert)
     Voeg de hierna ingetypte tekst toe net boven de current
     line. Doe dit tot een geheel lege regel ingetypt wordt
     (Dus twee returns na elkaar). Current line wordt
     de eerste regel na de ingetypte tekst.
     N.B. maximale regellengte is 63 characters.
A    (Append)
     Accepteer een regel invoer, en plak de ingetypte
     tekst achter de huidige regel.
P    (Print)
     dit is hetzelfde als 16 maal return.
Q    (Quit)
     Verlaat de editor, en ga terug naar COSNIX.
W    (Write)
     Wacht tot een filenaam ingetypt wordt, en schrijf
     de inhoud van de tekstbuffer vanaf de current line tot
     het einde op een file met die naam.
     N.B. Als we de hele file willen bewaren moeten we dus
          donders goed opletten dat de 1e regel van de buffer
          ook inderdaad current line is, b.v. met T
S    (Substitute)
     Vervang de tekst tussen de pointers door de ingetypte
     tekst. Een return sluit de nieuwe tekst af, maar we
     kunnen toch returns tussenvoegen (en dus regels
     splitsen) door control D's te gebruiken.
     (Omgekeerd kunnen we ook regels samenvoegen door met
     F naar control-D te zoeken, en deze dan door een spatie
     te vervangen.)
     Normaal wordt dit commando gebruikt in combinatie met F,
     om eerst wat tussen de pointers te krijgen.
     Doen we dit niet dan wordt te ingetypte tekst vooraan de
     regel toegevoegd, wat soms nuttig is.
T    (Top)
     Maak de 1e regel uit de buffer de current line.
R    (Read)
     Wacht tot een filenaam ingegeven wordt, en lees
     de genoemde file achterin (!) de buffer in.
X    (Exchange)
     Als het S commando, maar vervang alle voorkomens van de
     voor het laatst met F gezochtte text, vanaf de current
     line tot het eind van de buffer.
.FI
.LL 60
.B 1
Er zijn een aantal commando's die om een regel tekst
als input vragen, t.w. F,S,X,A,V,R en W. In al deze
gevallen kunnen we typfouten herstellen d.m.v.
de control H toets.
Wees vooral voorzichtig geen rare characters
op te nemen in filenamen, omdat dat soort files
later moeilijk kwijt te raken is (spaties!).
