Mercurial > emacs
view etc/TUTORIAL.nl @ 62335:401714f3f9de
(Fmemory_full_p): New function.
(syms_of_alloc): defsubr it.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 14 May 2005 14:07:03 +0000 |
parents | 68b5967c7599 |
children | f05a048483cc 7a3341d65a12 |
line wrap: on
line source
Emacs-inleiding. De kopieervoorwaarden staan onderaan. Copyright (c) 1985, 1996, 1997, 2003, 2004, 2005 Free Software Foundation De meeste Emacs-commando's gebruiken de CONTROL-toets (soms CTRL of CTL genaamd) en/of de META-toets (soms genaamd EDIT of ALT). In plaats van steeds de volledige naam te noemen, gebruiken we de volgende afkortingen: C-<ltr> betekent: houd de CONTROL-toets ingedrukt en tik de toets <ltr> Dus C-f wordt: houd de CONTROL-toets ingedrukt en tik f. M-<ltr> betekent: houd de META-, EDIT- of ALT-toets ingedrukt en tik de toets <ltr>. Als er geen toets META, EDIT of ALT is, kun je ook eerst de ESC-toets tikken, gevolgd door <ltr>. We verwijzen naar de ESC-toets als <ESC>. BELANGRIJK: om Emacs te verlaten, tik C-x C-c (twee tekens). De tekens ">>" tegen de linkerkantlijn nodigen je uit om een bepaald commando te proberen. Bijvoorbeeld: <<Blank lines inserted around following line by help-with-tutorial>> [Lege regels om didactische redenen. Hieronder gaat het verder.] >> Tik nu C-v (volgend scherm) om naar het volgende scherm te gaan. (Geef nu het commando door de CONTROL-toets ingedrukt te houden terwijl je de v tikt.) Vanaf nu moet je dit steeds herhalen als je klaar bent met het lezen van een scherm. Merk op dat er een overlapping van twee regels is als je van een scherm naar het volgende gaat; dat zorgt voor continuïteit bij het lezen van de tekst. Het eerste wat je moet weten, is hoe je je naar verschillende plaatsen in de tekst kan bewegen. Je weet al hoe je een scherm vooruit moet gaan: met C-v. Om een scherm terug te gaan, tik je M-v (houd de META-toets ingedrukt en tik v, of tik <ESC> v als je geen META-, EDIT- of ALT-toets hebt). >> Probeer nu een paar keer M-v, steeds gevolgd door C-v. * SAMENVATTING -------------- De volgende commando's zijn handig om volledige schermen te bekijken: C-v Ga een scherm vooruit M-v Ga een scherm terug C-l Maak het scherm schoon en teken alle tekst opnieuw, waarbij de regel waarop de cursor staat, op het midden van het scherm terecht komt. (C-l is CONTROL-L, niet CONTROL-1.) >> Kijk waar de cursor staat, en onthoud de tekst er omheen. Tik C-l. Zoek de cursor en merk op dat hij nog steeds bij dezelfde tekst staat. Als je toetsenbord PageUp- en PageDn-toetsen heeft dan kun je deze ook gebruiken om een scherm terug dan wel vooruit te gaan, maar het werken met C-v en M-v is efficiënter. * BASISCOMMANDO'S CURSORBEWEGINGEN ---------------------------------- Het is handig om je per scherm te bewegen, maar hoe beweeg je je nu naar een specifieke plaats op het scherm? Er is een aantal manieren waarop je dit kan doen. Je kan de pijltjestoetsen gebruiken, maar het is efficiënter om je handen in de standaardhouding te laten, en de commando's C-p, C-b, C-f en C-n te gebruiken. Elk van deze commando's verplaatst de cursor precies een regel of teken in een bepaalde richting op het scherm. Hier volgt een figuur met de vier commando's en de richting waarin ze de cursor bewegen: vorige regel, C-p : : achteruit, C-b .... huidige cursorpositie .... vooruit, C-f : : volgende regel, C-n >> Verplaats, met C-n of C-p, de cursor naar de middelste regel van de figuur. Tik dan C-l om de hele figuur in het midden van het centrum te plaatsen. Met een beetje kennis van het Engels zijn deze commando's gemakkelijk te onthouden: de p komt van "previous" (vorige), de n van "next" (volgende), de b van "backward" (achteruit) en de f van "forward" (vooruit). Dit zijn de basiscommando's om de cursor te bewegen, dus je zult ze VOORTDUREND gebruiken: het is vooruitziend als je ze nu leert te gebruiken. >> Tik een paar keer C-n om de cursor op deze regel te krijgen. >> Beweeg je binnen de regel met C-f (herhaaldelijk) en terug omhoog met C-p. Let op wat C-p doet als de cursor midden in een regel staat. Elke regel eindigt met een Newline-teken (het Engelse "new line" betekent "nieuwe regel"); dit teken scheidt elke regel van de volgende. De laatste regel in een bestand zou eigenlijk ook met een Newline moeten eindigen (maar dat is niet noodzakelijk voor Emacs). >> Probeer C-b aan het begin van een regel. De cursor zal zich naar het eind van de vorige regel bewegen, omdat je achteruit over het Newline teken gaat. Net als C-b kan ook C-f zich over Newline-tekens heen bewegen. >> Tik nog een aantal keren het commando C-b, zodat je een gevoel krijgt waar de cursor is. Tik dan enkele keren C-f om de cursor terug naar het einde van de regel te bewegen. Een verder C-f commando beweegt de cursor dan naar de volgende regel. Wanneer je de cursor voorbij het begin of het einde van het scherm beweegt, zal de tekst over het scherm heen schuiven. Dit heet "scrollen", of "schuiven" in goed Nederlands. Door te scrollen zorgt Emacs ervoor dat de cursor de gewenste beweging kan maken zonder dat de cursor van het scherm af beweegt. >> Probeer de cursor voorbij de onderkant van het scherm te bewegen met C-n en zie wat er gebeurt. Als de beweging per teken te langzaam gaat, kan je de cursor ook per woord bewegen. M-f (META-f) beweegt de cursor een woord vooruit en M-b een woord achteruit. >> Tik enkele keren M-f en M-b. Als je midden in een woord staat, beweegt M-f de cursor naar het eind van het woord. Als je op een witte ruimte tussen twee woorden staat, beweegt M-f de cursor naar het eind van het volgende woord. Het commando M-b beweegt de cursor analoog de andere kant op. >> Tik enkele keren M-f en M-b en daar tussendoor een paar maal C-f en C-b, zodat je ziet wat M-f en M-b doen vanaf bepaalde plaatsen in een woord en tussen twee woorden. Merk op dat er een analogie bestaat tussen enerzijds C-f en C-b en anderzijds M-f en M-b. Het is bij veel commando's zo dat META-tekens gebruikt worden om iets te doen in eenheden van de taal (woorden, zinnen, alinea's) terwijl CONTROL-tekens te maken hebben met dingen die los staan van wat je aan het bewerken bent (tekens, regels, enz.). Deze analogie gaat ook op voor regels en zinnen: C-a en C-e bewegen de cursor naar het begin of eind van een regel, terwijl met M-a, respectievelijk M-e, de cursor naar het begin, respectievelijk het eind, van een zin gaat. >> Tik enkele keren C-a, en dan een enkele keren C-e. Tik een paar maal M-a, en dan enkele keren M-e. Bemerk hoe herhaalde C-a commando's niets doen, terwijl herhaalde M-a commando's de cursor steeds een zin achteruit bewegen. Alhoewel ze niet volledig overeenkomen, is het gedrag van beide heel natuurlijk. De plaats van de cursor in de tekst wordt "punt" genoemd (zonder lidwoord, "point" in het Engels). Anders gezegd: de cursor laat op het scherm de plek zien waar punt in de tekst staat. Nu volgt een samenvatting van eenvoudige cursorbewegingen, met inbegrip van de commando's die de cursor per woord of zin bewegen: C-f Ga een teken vooruit C-b Ga een teken achteruit M-f Ga een woord vooruit M-b Ga een woord achteruit C-n Ga naar de volgende regel C-p Ga naar de vorige regel C-a Ga naar het begin van de regel C-e Ga naar het eind van de regel M-a Ga terug naar het begin van de zin M-e Ga vooruit naar het eind van de zin >> Probeer al deze commando's een paar keer als oefening. Deze commando's worden het vaakst gebruikt. Er zijn nog twee belangrijke cursorbewegingen: M-< (META kleiner-dan) beweegt de cursor naar het begin van het bestand, en M-> (META groter-dan) beweegt hem naar het eind. Op de meeste toetsenborden zit de '<' boven de komma, zodat je de Shift-toets (ook wel bekend als de hoofdlettertoets) moet gebruiken om het '<'-teken in te tikken. Op deze toetsenborden moet je ook de shift gebruiken om M-< in te tikken: zonder shift zou je M-, (META komma) tikken. >> Tik nu M-< om naar het begin van dit bestand te gaan. Gebruik daarna C-v om hier weer terug te komen. >> Tik nu M-> om naar het eind van het bestand te springen. Gebruik daarna M-v om hier weer terug te komen. Als je toetsenbord pijltjestoetsen heeft, kan je die ook gebruiken om de cursor te verplaatsen. We raden je aan om C-b, C-f, C-n en C-p te leren, om drie redenen. Ten eerste werken ze op alle toetsenborden, ook die zonder pijltjestoetsen. Ten tweede zul je merken dat wanneer je eenmaal wat ervaring hebt opgedaan in de omgang met Emacs, het gebruik van de CONTROL-tekens sneller is dan werken met de pijltjestoetsen (omdat je handen in de normale tikpositie kunnen blijven). Ten derde, als je eenmaal gewend bent aan deze commando's met CONTROL-tekens, kan je makkelijk andere gevorderde cursorbewegingscommando's leren. De meeste Emacs-commando's accepteren een numeriek argument. Voor de meeste commando's is dit argument het aantal keren dat het commando herhaald moet worden. Je geeft dit numerieke argument aan met C-u en vervolgens de cijfers van het getal, vóór het commando. Als je toetsenbord een META- (of EDIT- of ALT-) toets heeft, is er ook een andere manier om het getal aan te geven: tik de cijfers terwijl je de META toets ingedrukt houdt. We raden je aan de C-u manier te leren omdat die beschikbaar is op elke terminal. Bijvoorbeeld, C-u 8 C-f beweegt de cursor 8 plaatsen naar voren. >> Probeer eens om met C-n of C-p en een numeriek argument de cursor met slechts een commando naar een regel in de buurt van deze zin te bewegen. Voor de meeste commando's is het numerieke argument het aantal keren dat het commando herhaald moet worden. Voor sommige commando's betekent het echter iets anders. Verschillende commando's (die je totnogtoe niet geleerd hebt) gebruiken het als een vlag -- de aanwezigheid van een prefix-argument, ongeacht zijn waarde, maakt dat het commando iets anders doet. C-v en M-v vormen een andere uitzondering. Met een numeriek argument verschuiven deze commando's de tekst het aangegeven aantal regels in plaats van (bijna) een heel scherm. Bijvoorbeeld, C-u 4 C-v verschuift de tekst 4 regels. >> Probeer nu C-u 8 C-v. Daarmee zou je tekst 8 regels opgeschoven moeten zijn. Als je terug omlaag wil scrollen, kan je M-v een argument geven. Als je een scherm met vensters gebruikt, zoals X Windows of MS-Windows, zou je een grote rechthoek moeten zien aan de linkerkant van het Emacs-venster. Deze rechthoek heet een schuifbalk ("scrollbar"). Je kan de tekst scrollen door met de muis in de schuifbalk te klikken. >> Klik met de middelste muisknop bovenaan het heldere gebied in de schuifbalk. Dit zou de tekst moeten verschuiven naar een positie die afhankelijk is van hoe hoog of laag je klikt. >> Beweeg de muis op en neer terwijl je de middelste muisknop ingedrukt houdt. Je zal zien dat de tekst met de muis mee heen en weer scrollt. * ALS EMACS HANGT ----------------- Als Emacs niet meer op commando's reageert, kan je het veilig onderbreken door C-g te tikken. Je kan C-g gebruiken om een commando te stoppen als het te lang duurt om uit te voeren. Je kan C-g ook gebruiken om een numeriek argument te verwijderen of om het begin van een commando dat je niet wilt afmaken, te verwijderen. >> Tik nu C-u 100 om een numeriek argument te maken met de waarde 100, en tik dan C-g. Tik vervolgens C-f. Het zou de cursor maar één positie mogen verplaatsen, omdat je het argument verwijderd hebt met C-g. Als je per ongeluk een <ESC> tikt, kan je dat ongedaan maken met het commando C-g. * UITGESCHAKELDE COMMANDO'S --------------------------- Sommige Emacs-commando's zijn uitgeschakeld zodat beginnende gebruikers ze niet per ongeluk kunnen uitvoeren. Als je een van de uitgeschakelde commando's intikt, laat Emacs uitleg zien over het commando dat je gegeven hebt, en vraagt of je het werkelijk wil uitvoeren. Wanneer je het commando echt wil uitvoeren, tik dan <SPC> (de spatiebalk) als antwoord op de vraag. Normaal wil je het commando niet uitvoeren en beantwoord je de vraag met "n" (van "no" of "nee"). >> Tik C-x C-l (een uitgeschakeld commando), en tik dan n als antwoord op de vraag. * VENSTERS ---------- Emacs kan meerdere vensters laten zien, elk venster met zijn eigen tekst. We zullen later uitleggen hoe je met meerdere vensters om kan gaan. Op dit moment willen we slechts uitleggen hoe je van extra vensters af kunt komen en terug kan keren naar het werken met één venster. Het is eenvoudig: C-x 1 Een enkel venster (dat wil zeggen: verwijder alle andere vensters). Het commando is CONTROL-x gevolgd door het cijfer 1. C-x 1 vergroot het venster waar de cursor in staat tot het hele scherm. Alle andere vensters worden verwijderd. >> Zet de cursor op deze regel en tik C-u 0 C-l. >> Tik nu C-h k C-f. Zie hoe dit venster kleiner is geworden, terwijl een nieuw venster verschijnt om de documentatie van het C-f commando te laten zien. >> Tik nu C-x 1 en zie het documentatievenster verdwijnen. Dit commando is anders dan de commando's die je tot nu toe geleerd hebt aangezien het uit twee tekens bestaat. Het begint met het teken CONTROL-x. Er zijn een heleboel commando's die met CONTROL-x beginnen. Veel van die commando's hebben te maken met vensters, bestanden, buffers, en gelijkaardige dingen. Dergelijke commando's bestaan uit twee, drie of vier tekens. * TOEVOEGEN EN WEGHALEN ----------------------- Als je tekst toe wil voegen, tik je die eenvoudigweg in. Tekens die je kan zien, zoals A, 7, * en dergelijke, worden door Emacs als tekst geïnterpreteerd en meteen aan de tekst toegevoegd. Tik <Return> (de "volgende regel"-toets) om een Newline toe te voegen en dus een nieuwe regel te beginnen. Je kan het laatste teken dat je hebt ingetikt weghalen door <Delback> te tikken. <Delback> is een toets op het toetsenbord -- dezelfde toets die je normaal gesproken gebruikt, buiten Emacs, om het laatst ingetikte teken te wissen. Het is meestal een grote toets, een paar rijen boven de <Return>-toets, waar "Delete", "Del" of "Backspace" op staat. Als er op die grote toets "Backspace" staat, dan is dat degene die je gebruikt voor <Delback>. Er kan op een andere plaats ook nog een andere toets zijn waarop "Delete" staat, maar dat is niet <Delback>. In het algemeen haalt <Delback> het teken weg dat juist voor de cursorpositie staat. >> Probeer dit nu: tik een paar letters en haal ze weer weg door een paar keer op <Delback> te drukken. Maak je niet druk over het feit dat dit bestand verandert; je zal niets veranderen aan de originele versie van deze inleiding. Je zit slechts je eigen kopie te wijzigen. Als een regel tekst te lang wordt om helemaal op het scherm getoond te worden, dan gaat hij verder op de volgende schermregel. Een backslash ("\") in de rechtermarge (of, als je een scherm met vensters gebruikt, een kleine gebogen pijl) laat dan zien dat de regel op de volgende schermregel verder gaat. >> Voeg nu tekst toe totdat je de rechter kantlijn raakt, en blijf toevoegen. Je zal zien dat er een vervolgregel verschijnt. >> Tik weer enkele keren <Delback> om zoveel tekens weg te halen tot de regel weer op een schermregel past. De vervolgregel zal verdwijnen. Je kan een Newline zoals elk ander teken verwijderen. Als je een Newline verwijdert, voeg je de twee regels waar de Newline tussen staat samen tot een enkele regel. Als de regel die het resultaat is van deze operatie niet op een schermregel past, zal hij getoond worden met een vervolgregel. >> Beweeg de cursor naar het begin van een regel en tik <Delback>. Dit voegt de huidige en vorige regel samen. >> Tik <Return> om de Newline die je net verwijderd hebt weer toe te voegen. Je herinnert je dat je bij de meeste Emacs-commando's het aantal keren op kan geven, dat ze herhaald moeten worden. Dit geldt ook voor gewone tekens. Als je een gewoon teken herhaalt, wordt dat teken herhaaldelijk toegevoegd. >> Probeer dat nu: tik C-u 8 * om ******** toe te voegen. Je hebt nu de eenvoudigste manier geleerd om iets in Emacs te tikken en fouten te verbeteren. Je kan tekst ook per woord of regel verwijderen. Hier volgt een samenvatting van de commando's om tekst te verwijderen: <Delback> Haal het teken weg dat voor de cursor staat C-d Haal het teken weg dat achter de cursor staat M-<Delback> Verwijder het woord dat voor de cursor staat M-d Verwijder het woord dat achter de cursor staat C-k Verwijder alles van de cursor tot het eind van de regel M-k Verwijder alles van de cursor tot het eind van de zin Merk op dat <Delback> en C-d, met M-<Delback> en M-d de analogie verder trekken, die begon met C-f en M-f (waarbij we voor het gemak even vergeten dat <Delback> niet echt een CONTROL-teken is). C-k en M-k lijken enigzins op C-e en M-e in hun relatie tot regels en zinnen. Je kunt ook op één uniforme manier een willekeurig deel van de tekst verwijderen. Beweeg daartoe naar één kant van het gedeelte dat je wilt verwijderen en tik C-@ of C-<SPC>. (<SPC> is de spatiebalk.) Beweeg daarna naar de andere kant en tik C-w. Dat verwijdert alle tekst tussen de twee posities. >> Beweeg de cursor naar de J aan het begin van de vorige alinea. >> Tik C-<SPC>. Emacs toont nu de mededeling "Mark set" ("Markering geplaatst") onderaan het scherm. >> Plaats de cursor op de n van "kant" op de tweede regel van de alinea. >> Tik C-w. Dit zal de tekst vanaf de J tot vlak voor de n verwijderen. Er is een verschil tussen iets weghalen en iets verwijderen: iets dat je hebt verwijderd, kan je terugbrengen, maar iets dat je hebt weggehaald niet. (In het Engels is het verschil tussen "killing" en "deleting" duidelijker dan tussen de Nederlandse vertalingen "verwijderen" en "weghalen".) Verwijderde tekst terughalen heet "yanken". In het algemeen geldt dat de commando's die meer tekst dan een enkel teken, Newline of spatie verwijderen, deze tekst bewaren zodat hij geyankt kan worden, terwijl dat niet geldt voor commando's die slechts een enkel teken weghalen. >> Zet de cursor op het begin van een regel die niet leeg is. Tik C-k om de tekst op die regel te verwijderen. >> Tik C-k een tweede keer. Nu verwijdert dit commando het Newline-teken. Merk op hoe een enkel C-k commando de inhoud van een regel verwijdert, een tweede C-k commando de regel zelf zodat alle volgende regels een regel omhoog komen. Het numerieke argument is voor C-k bijzonder: het aangegeven aantal regels zal worden verwijderd, inclusief de inhoud. Dit is meer dan simpelweg herhaling: C-u 2 C-k verwijdert twee regels, terwijl tweemaal C-k tikken dat niet doet. Om de laatst verwijderde tekst terug te halen naar de plaats waar de cursor nu op staat (te yanken), tik C-y. >> Probeer het nu: tik C-y om de tekst te yanken. Het is alsof je met C-y iets uit de prullenbak haalt wat je net had verwijderd. Merk op dat verschillende C-k's achter elkaar alle regels die verwijderd worden, bij elkaar bewaart zodat een enkele C-y die regels in een keer terugbrengt. >> Probeer het nu: tik C-k een paar keer. Om de verwijderde tekst terug te halen: >> Tik C-y. Beweeg de cursor enkele regels naar beneden en tik weer C-y. Je ziet nu hoe je tekst kan kopiëren. Wat moet je doen als je wat tekst terug wilt brengen, maar je intussen al iets anders verwijderd hebt? C-y zou datgene terugbrengen wat je het recentst hebt verwijderd. Gelukkig is de voorgaande tekst niet verloren gegaan. Je kunt die tekst terughalen met M-y. Nadat je C-y hebt getikt om de recentst weggegooide tekst terug te halen, vervangt M-y die tekst met de tekst die je daarvoor had weggegooid. Je kunt M-y herhalen om tekst terug te halen die je al langer geleden hebt weggegooid. Als je de tekst te pakken hebt die je zocht, hoef je niets te doen om die daar te houden. Je kan gewoon verder werken en de teruggehaalde tekst met rust laten. Als je M-y vaak genoeg tikt kom je terug waar je begon, bij de laatst verwijderde tekst. >> Verwijder een regel, beweeg de cursor wat, en verwijder nog een regel. Tik C-y om de tweede regel die je verwijderde, terug te halen. Tik nog een M-y en die regel wordt vervangen door de eerste regel die je verwijderde. Tik nog enkele keren M-y en zie wat er langs komt. Herhaal dit tot de tweede regel weer langs komt, en dan nog een paar keer. Je kan ook experimenteren met positieve en negatieve argumenten bij M-y. * HERSTELLEN ------------ Als je de tekst veranderd hebt en je daar toch niet tevreden mee bent, dan kan je de verandering ongedaan maken met het herstelcommando, C-x u. Normaal gesproken herstelt C-x u de veranderingen die het gevolg zijn van een enkel commando; door herhaaldelijk C-x u te tikken, worden steeds eerdere commando's hersteld. Er zijn echter twee uitzonderingen: commando's die de tekst niet wijzigen, zoals cursorbewegingen, worden overgeslagen, en commando's die simpelweg het ingetikte teken aan de tekst toevoegen, worden meestal gegroepeerd in groepjes van maximaal 20 tekens, zodat je minder vaak het commando C-x u hoeft te tikken om teksttoevoegingen te herstellen. >> Gooi deze regel weg met C-k; met C-x u zou hij weer moeten verschijnen. C-_ is een alternatief voor C-x u. Het levert exact hetzelfde resultaat op, maar is makkelijker om een paar keer achter elkaar te tikken. Een nadeel van C-_ is dat op sommige toetsenborden het intikken ervan niet gebruiksvriendelijk is. Dat is ook de reden voor het alternatief, C-x u. Op sommige terminals kan je C-_ tikken door "/" te tikken terwijl je de CONTROL-toets ingedrukt houdt. Een numeriek argument bij C-_ of C-x u duidt het aantal herhalingen aan. * BESTANDEN ----------- Om een tekst die je gemaakt of veranderd hebt op te slaan, moet je de tekst in een bestand stoppen ("to save a file" in het Engels). Als je dat niet doet, ben je die veranderingen kwijt op het moment dat je Emacs verlaat. Je kan een bestand veranderen door het bestand te "bezoeken". (Ook wel "vinden"; "finding" of "visiting" in het Engels.) Een bestand bezoeken betekent dat je de inhoud van dat bestand in Emacs ziet. Het lijkt er dan op alsof je het bestand aan het veranderen bent. Deze veranderingen zijn echter slechts tijdelijk zolang je het bestand niet opslaat. Op deze manier kan je nooit per ongeluk een half gewijzigd bestand op het systeem achterlaten. Zelfs als je het bestand opslaat, zorgt Emacs ervoor dat het originele bestand onder een gewijzigde naam nog steeds beschikbaar is, voor het geval je later besluit dat de veranderingen toch niet zo goed waren. Bij de onderkant van het scherm zie je een regel die begint en eindigt met streepjes, met aan het begin "-1:-- TUTORIAL.nl" of iets dergelijks. Dit deel van het scherm laat normaal de naam van het bestand zien dat je op dat moment bezoekt. Op dit moment bezoek je een bestand dat "TUTORIAL.nl" heet; het is je eigen kopie van de Nederlandstalige Emacs-inleiding ("tutorial" in het Engels). Als je in Emacs een bestand bezoekt dan staat de naam van het bestand altijd op deze plaats. Iets bijzonders aan het commando om een bestand te bezoeken, is dat je aan moet geven welk bestand je wil. Dit heet dat het commando "een argument van de gebruiker vraagt"; in dit geval de naam van het bestand. Nadat je het commando C-x C-f Bezoek bestand (met de f van "find file"). hebt getikt vraagt Emacs om de naam van het bestand. De naam die je intikt verschijnt op de onderste regel van het scherm. Wanneer die regel voor dit soort invoer gebruikt wordt, heet hij de minibuffer. Je kan gewone Emacs commando's gebruiken om de bestandsnaam te veranderen. Tijdens het invoeren van de bestandsnaam (of om het even welke invoer in de minibuffer) kan je het commando afbreken met C-g. >> Tik C-x C-f gevolgd door C-g. Dit commando breekt de minibuffer af en ook het C-x C-f commando dat van de minibuffer gebruik maakte. Het resultaat is dat je geen bestand bezoekt. Als je de naam van een bestand hebt ingevoerd, tik dan <Return> om het commando af te sluiten. Hierna gaat het C-x C-f commando aan het werk en haalt het bestand op dat je aangegeven hebt. Als het C-x C-f commando daarmee klaar is, verdwijnt de minibuffer. Na korte tijd verschijnt de inhoud van het bestand op het scherm en kan je de inhoud wijzigen. Als je de wijzigingen op wilt slaan, tik dan het commando C-x C-s Sla bestand op (met de s van "save file"). Dit commando slaat de tekst zoals Emacs die nu heeft in het bestand op. De eerste keer dat je dit doet, slaat Emacs het originele bestand onder een andere naam op, zodat het niet verloren gaat. De nieuwe naam bestaat uit de oude bestandsnaam gevolgd door een "~". Als Emacs het bestand heeft opgeslagen, laat het de naam van het bestand zien. Het is een goede gewoonte een bestand regelmatig op te slaan zodat er niet teveel werk verloren gaat als het systeem hangt of crasht. >> Tik C-x C-s, om je kopie van deze inleiding op te slaan. Als het goed is verschijnt "Wrote ...TUTORIAL.nl" op de onderste schermregel. OPMERKING: Op sommige systemen gebeurt er helemaal niets als je C-x C-s tikt, en daarna ook niets meer. Dit komt door een eigenschap van de machine waarop je werkt die te maken heeft met "flow control". Met C-s stopt de "flow" en komt niets meer van wat je tikt bij Emacs terecht. Om deze situatie te herstellen, tik C-q. Lees daarna het hoofdstuk "Spontaneous Entry to Incremental Search" in het Emacs-handboek over hoe je moet omgaan met deze situatie. Je kan een bestaand bestand bezoeken om het te bekijken of het te wijzigen. Je kan ook een bestand bezoeken dat nog niet bestaat. Dit is de manier om met Emacs een nieuw bestand te maken: bezoek het bestand, dat eerst leeg zal zijn, en voeg tekst toe. Zodra je de tekst opslaat, wordt het bestand werkelijk gecreëerd, met de tekst als inhoud. Vanaf dat moment ben je dus bezig met een bestaand bestand. * BUFFERS --------- Als je een tweede bestand bezoekt met C-x C-f, blijft het eerste bestand gewoon in Emacs. Je kan naar dat bestand terug door het gewoon nog een keer te bezoeken met C-x C-f. Op deze manier kan je een behoorlijk aantal bestanden in Emacs krijgen. >> Creëer een bestand dat "foo" heet door te tikken: C-x C-f foo <Return>. Voeg hieraan wat tekst toe, wijzig hem, en sla "foo" op door C-x C-s te tikken. Tik hierna C-x C-f TUTORIAL <Return> om weer hier, in de inleiding, terug te komen. Emacs bewaart intern de tekst van elk bestand in een ding dat een "buffer" genoemd wordt. Als je een bestand bezoekt wordt er een nieuwe buffer gemaakt. Om een lijst van de huidige buffers te zien, tik C-x C-b Laat de bufferlijst zien >> Probeer C-x C-b nu. Bemerk dat elke buffer een naam heeft en mogelijk ook een bestandsnaam; dit is de naam van het bestand waarmee de buffer overeenkomt. ALLE tekst die je in een Emacs venster ziet is altijd onderdeel van een of andere buffer. >> Tik C-x 1 om de bufferlijst te verwijderen. Wanneer je met meerdere buffers werkt, dan is op elk moment slechts één van die buffers "actueel". De actuele buffer is degene die je aan het bewerken bent. Als je een andere buffer wilt bewerken, dan moet je daarnaar "omschakelen". Als je wilt omschakelen naar een buffer die overeenkomt met een bestand, dan kun je dit doen door dat bestand opnieuw te bezoeken met C-x C-f. Er is ook een makkelijkere manier: gebruik het commando C-x b. Dit commando vraagt je naar de naam van de buffer. >> Tik C-x b foo <Return> om terug te gaan naar de buffer "foo" die de tekst van het bestand "foo" bevat. Tik vervolgens C-x b TUTORIAL <Return> om terug te komen naar deze Emacs-inleiding. Meestal is de naam van de buffer gelijk aan de naam van het bestand (minus de naam van de directory). Dit klopt echter niet altijd. De lijst met buffers die je maakt met C-x C-b laat je altijd de naam van elke buffer zien. ALLE tekst die je ziet in een venster van Emacs is altijd onderdeel van een of andere buffer. Sommige buffers komen niet overeen met een bestand. De buffer genaamd "*Buffer List*" heeft bijvoorbeeld geen bijbehorend bestand. Deze buffer bevat de lijst met buffers die je gemaakt hebt met C-x C-b. Ook de buffer "*Messages*" heeft geen geassocieerd bestand; deze buffer bevat de mededelingen die Emacs je op de onderste regel toonde. >> Tik C-x b *Messages* <Return> om de buffer met mededelingen te bekijken. Tik daarna weer C-x b TUTORIAL <Return> om terug te keren naar deze buffer met de Emacs-inleiding Als je de tekst van het ene bestand verandert en dan een ander bestand bezoekt, wordt het eerste bestand niet opgeslagen. De wijzigingen blijven in Emacs, in de buffer die bij het bestand hoort. Het creëren of veranderen van de buffer van het tweede bestand heeft geen effect op de eerste buffer. Dit is erg nuttig, maar betekent ook dat er een eenvoudige manier nodig is om het eerste bestand te bewaren. Het zou erg vervelend zijn om er eerst naar terug te moeten gaan met C-x C-f om het dan te kunnen bewaren met C-x C-s. Dus hebben we het commando: C-x s Sla een paar buffers op C-x s vraagt voor elke buffer die veranderingen heeft die nog niet opgeslagen zijn, of je de buffer wilt bewaren. >> Voeg wat tekst toe en tik C-x s. Emacs vraagt nu of je de buffer die TUTORIAL.nl heet wilt bewaren. Beantwoord deze vraag positief door een "y" in te tikken (de y van "yes", Engels voor "ja"). * UITGEBREIDE COMMANDO'S ------------------------ Er zijn veel meer Emacs commando's dan er op de toetsen van het toetsenbord passen, zelfs als we hun aantal kunnen vergroten door de CONTROL- of META-toets te gebruiken. Emacs lost dit probleem op met het X commando (met de X van eXtensie of uitbreiding). Het X commando komt voor in twee smaken: C-x Tekenuitbreiding. Gevolgd door een teken. M-x Commando-naam-uitbreiding. Wordt gevolgd door een naam. Deze commando's zijn in het algemeen nuttig, maar worden minder gebruikt dan de commando's die je tot nu toe al geleerd hebt. Je hebt al enkele van deze commando's gezien: C-x C-f om een bestand te bezoeken en C-x C-s om het te bewaren, bijvoorbeeld. Een ander voorbeeld is het commando om Emacs te verlaten: dit is C-x C-c. (Maak je geen zorgen over het verloren gaan van veranderingen die niet opgeslagen zijn; C-x C-c vraagt of je veranderde buffers wilt bewaren voordat Emacs helemaal eindigt.) C-z is het commando om Emacs *tijdelijk* te verlaten, zodat je daarna weer terug kan keren in dezelfde Emacs-sessie. Op systemen die deze mogelijkheid bieden, zet C-z Emacs stil: je komt weer terug in de shell, maar Emacs is nog aanwezig. In de meeste shells kan je Emacs weer activeren met het "fg" commando, of met "%emacs". Op systemen die niet de mogelijkheid bieden om programma's stil te zetten, creëert C-z een subshell onder Emacs om je zo in de gelegenheid te stellen andere programma's uit te voeren en daarna weer in Emacs terug te keren; Emacs wordt dus niet werkelijk verlaten. In dit geval is het shellcommando "exit" de normale manier om de subshell te verlaten en in Emacs terug te keren. Het moment om C-x C-c te gebruiken is wanneer je uit gaat loggen. Het is ook het juiste commando om Emacs te beëindigen wanneer Emacs opgestart was door een mail-programma of iets dergelijks, aangezien die misschien niet met een stilgezette Emacs om kunnen gaan. Normaal gezien is het echter beter Emacs stil te zetten met C-z dan om Emacs te verlaten, behalve als je uit wilt loggen natuurlijk. Er bestaan vele C-x commando's. Hier is een lijst van degene die je nu al kent: C-x C-f Bezoek bestand C-x C-s Sla bestand op C-x s Sla een paar buffers op C-x C-b Laat bufferlijst zien C-x b Schakel naar een buffer C-x C-c Verlaat Emacs C-x 1 Een enkel venster C-x u Herstel Commando-naam-bevelen worden nog minder vaak gebruikt, of alleen onder bepaalde omstandigheden. Een voorbeeld is het commando replace-string, dat in de hele tekst een string vervangt door een andere string ("to replace" betekent "vervangen"). Als je M-x tikt, toont Emacs onderaan het scherm "M-x" en moet je de naam van het commando intikken, in dit geval "replace-string". Als je gewoon "repl s<TAB>" tikt maakt Emacs de naam zelf af. Beëindig het commando met <Return>. Het replace-string commando heeft twee argumenten nodig: de string die vervangen moet worden en de string waarmee die vervangen moet worden. Je sluit elk argument af met <Return>. >> Plaats de cursor op de lege regel twee regels onder deze regel. Tik dan M-x repl s<Return>gewijzigd<Return>veranderd<Return>. Zie hoe deze regel daardoor gewijzigd is. Je hebt elk voorkomen van het woord g-e-w-i-j-z-i-g-d vervangen door "veranderd"; te beginnen op de plek waar de cursor staat. * AUTOMATISCH BEWAREN --------------------- Als je een bestand veranderd hebt maar het nog niet opgeslagen hebt, zouden de veranderingen verloren kunnen gaan als het systeem zou hangen of herstarten. Om je hiertegen te beschermen, slaat Emacs regelmatig de veranderde tekst automatisch op. De naam van het bestand waarin de tekst automatisch wordt opgeslagen begint en eindigt met een #. Bijvoorbeeld, als je het bestand "hello.c" aan het bewerken bent, wordt de tekst automatisch opgeslagen in een bestand dat "#hello.c#" heet. Zodra je het bestand werkelijk opslaat, wordt het automatisch opgeslagen bestand verwijderd. Als de computer crasht, kan je de automatisch opgeslagen tekst terugkrijgen door het bestand gewoon te bezoeken (het originele bestand, niet het automatisch opgeslagen), gevolgd door M-x recover-file<Return>. Als Emacs vraagt om bevestiging, antwoord dan met yes<Return> en de automatisch opgeslagen informatie wordt teruggehaald. * ECHO-GEBIED ------------- Als je een commando langzaam intikt, toont Emacs de tekens aan de onderkant van het scherm in een deel dat het "echo-gebied" genoemd wordt. Dit gebied omvat de onderste regel van het scherm. * MODUS-REGEL ------------- De regel direct boven het echo gebied heet de "modusregel". De modusregel ziet er ongeveer zo uit: -1:** TUTORIAL.nl 62% L763 (Fundamental)----------------------- Deze regel geeft interessante informatie over Emacs en de tekst die je aan het bewerken bent. Je weet al wat de bestandsnaam betekent: het is de naam van het bestand dat je bezoekt. NN% geeft je huidige positie in de tekst aan: NN procent van de tekst bevindt zich boven het scherm. Als het bestand vanaf het begin op het scherm staat, staat er "Top" in plaats van " 0%". Als het laatste stuk tekst op het scherm staat, zal er "Bot" staan (van "bottom", "onderkant" in het Nederlands). Als de tekst zo klein is dat hij volledig op het scherm past staat "All" in de modus-regel. De L gevolgd door een getal geeft het nummer van de regel waarin punt zich bevindt. De sterretjes aan het begin betekenen dat je de tekst veranderd hebt. Direct na het bezoeken of opslaan staan er gewoon streepjes. In de modusregel staat tussen haakjes in welke modus je aan het werken bent. De standaardmodus is de "Fundamental" modus, die je nu gebruikt ("fundamental" is "basis" in het Nederlands). Een dergelijke modus heet een hoofdmodus ("major mode" in het Engels). Emacs heeft verschillende hoofdmodi. Sommige daarvan zijn bedoeld voor het bewerken van verschillende talen of soorten tekst, zoals bijvoorbeeld Lisp modus, Text modus, etc. Op elk moment is er altijd precies een modus actief, en de naam daarvan staat in de modusregel, op de plaats waar nu "Fundamental" staat. Elke hoofdmodus zorgt ervoor dat sommige commando's zich anders gedragen. Zo bestaat er een commando om een commentaar in een programma te tikken, en aangezien elke programmeertaal een ander idee heeft over hoe commentaar eruit moet zien, moet elke hoofdmodus op een andere manier het commentaar beginnen. Elke hoofdmodus is de naam van een uitgebreid commando, en met dat commando schakel je om naar die hoofdmodus. Zo is bijvoorbeeld M-x fundamental-mode het commando om naar de basismodus om te schakelen. Als je Nederlandse of Engelse tekst wil gaan bewerken, zoals bijvoorbeeld dit bestand, kan je beter "Text mode" gebruiken, de modus om tekst in een gewone taal te bewerken: >> Tik M-x text-mode<Return>. Wees gerust; geen van de commando's die je geleerd hebt zorgen voor grondige veranderingen in Emacs. Een van de dingen die je kan merken, is bijvoorbeeld dat M-f en M-b nu apostrofs als onderdeel van een woord beschouwen. In de vorige modus (Fundamental) behandelen M-f en M-b de apostrof als ruimte tussen twee woorden. Het is gebruikelijk dat hoofdmodi dergelijke subtiele verschillen hebben. De meeste commando's doen dus min of meer hetzelfde in elke hoofdmodus. Met het commando C-h m kan je de documentatie over de huidige hoofdmodus lezen. >> Gebruik C-u C-v een paar keer om deze zin in de buurt van de bovenkant van het scherm te krijgen. >> Tik C-h m om te zien hoe de tekstmodus verschilt van de basismodus. >> Tik C-x 1 om de documentatie van het scherm te verwijderen. Hoofdmodi heten zo omdat er ook bijmodi zijn. Bijmodi zijn geen alternatieven voor hoofdmodi; het zijn slechts kleine aanpassingen daarvan. Elke bijmodus kan aan- of uitgezet worden, onafhankelijk van andere bijmodi en onafhankelijk van de hoofdmodus. Het is dus mogelijk geen bijmodi, één bijmodus of een willekeurige combinatie van bijmodi te gebruiken. Een nuttige bijmodus voor het bewerken van tekst in een natuurlijke taal, zoals het Nederlands, is Auto Fill modus ("auto fill" betekent automatisch uitvullen). Wanneer deze modus aanstaat, breekt Emacs automatisch een regel tussen twee woorden af als de regel te lang wordt. Je kan Auto Fill modus aanzetten met M-x auto-fill-mode<Return>. Als deze modus al aanstaat, kan je hem uitzetten met M-x auto-fill-mode<Return>. Als de modus uitstaat, zet dit commando de modus aan; als ze aanstaat, zet dit commando de modus uit. We zeggen dat het commando de modus "schakelt" ("to toggle" in het Engels). >> Tik nu M-x auto-fill-mode<Return>. Tik nu vele malen "asdf " op een regel zodat je kan zien dat de regel in tweeën gesplitst wordt. Er moeten wel spaties tussen de woorden staan, omdat de Auto Fill modus de regel alleen op spaties breekt. De rechterkantlijn staat meestal op 70 tekens, maar die kan je veranderen met het C-x f commando. Dit commando accepteert een numeriek argument om de gewenste kantlijn te verkrijgen. >> Tik C-x f met 20 als argument (C-u 20 C-x f). Tik wat tekst en zie dat Emacs de regels afbreekt bij 20 tekens. Zet de kantlijn nu terug op 70, dus met met C-u 70 C-x f. Als je de tekst midden in een regel verandert vult Auto Fill modus de regel niet opnieuw. Om een alinea opnieuw te vullen, tik M-q (META-q) terwijl de cursor in de alinea staat. >> Plaats de cursor in de voorgaande alinea en tik M-q. * ZOEKEN -------- Emacs kan tekenreeksen ("strings") zoeken, zowel volgend op de cursorpositie, als eraan voorafgaand. Het zoeken naar een string verplaatst de cursor naar de volgende plaats waar de gezochte string voorkomt. Het zoekcommando van Emacs is anders dan de zoekcommando's van de meeste tekstverwerkers; het zoekt incrementeel. Dit betekent dat het zoeken gebeurt tijdens het intikken van de gezochte string. Het commando om het voorwaarts zoeken te starten is C-s (met de "s" van "to search", zoeken); C-r start het achterwaarts zoeken (met de "r" van "reverse" of achteruit). MAAR WACHT! Probeer ze nu nog niet. Als je C-s tikt verschijnt de string "I-search" in het echo-gebied. Dit betekent dat Emacs bezig is met een "incremental search" (incrementele zoekopdracht) en wacht op het intikken van de zoekstring. <Return> beëindigt het zoeken. >> Tik nu C-s om het zoeken te starten. Tik nu, LANGZAAM, één letter per keer, het woord "cursor", met een pauze na elke letter zodat je kan zien wat er met de cursor gebeurt. Je hebt nu eenmaal naar het woord "cursor" gezocht. >> Tik nogmaals C-s, om naar het volgende voorkomen van het woord "cursor" te zoeken. >> Tik nu viermaal <Delback> en let op de cursorbewegingen. >> Tik <Return> om het zoeken te beëindigen. Zag je wat er gebeurde? Tijdens incrementeel zoeken probeert Emacs naar de eerste plek te gaan waar de string staat die je tot dan toe getikt hebt. Om naar de volgende plek te gaan, tik je C-s nog een keer. Als er geen volgende plek is gevonden, biept Emacs en vertelt je dat de zoekopdracht niets gevonden heeft ("failing" in het Engels). C-g zou het zoeken ook afbreken. OPMERKING: Op sommige systemen gebeurt er helemaal niets als je C-s tikt, en daarna ook niets meer. Dit komt door een eigenschap van de machine waarop je werkt die te maken heeft met "flow control". Met C-s stopt de "flow" en komt niets meer van wat je tikt bij Emacs terecht. Om deze situatie te herstellen, tik C-q. Lees daarna het hoofdstuk "Spontaneous Entry to Incremental Search" in het Emacs-handboek over hoe je moet omgaan met deze situatie. Als je tijdens incrementeel zoeken <Delback> tikt, zal je zien dat het laatste teken dat je aan de zoekstring toegevoegd hebt, weggehaald wordt en dat het zoeken teruggaat naar de voorgaande plaats. Als je bijvoorbeeld begint met zoeken en je tikt een "c", dan ga je naar de plaats waar de "c" het eerst voorkomt. Tik je vervolgens een "u", dan gaat de cursor naar de plaats waar de string "cu" het eerst voorkomt. Als je nu <Delback> tikt, dan wordt de "u" van de zoekstring afgehaald, en gaat de cursor terug naar de plaats waar hij stond voordat je de "u" intikte, namelijk daar waar "c" het eerst voorkwam. Als je tijdens een zoekoperatie een CONTROL- of META-teken intikt, dan wordt het zoeken beëindigd. Er zijn een paar uitzonderingen, namelijk tekens die tijdens zoeken een speciale betekenis hebben, zoals C-s en C-r. Met C-s begin je te zoeken naar de plaats waar de zoekstring voor het eerst voorkomt NA de huidige cursorpositie. Als je iets wilt zoeken dat eerder in de tekst moet voorkomen, gebruik dan C-r in plaats van C-s. Alles wat we nu weten over C-s geldt ook voor C-r, alleen is de zoekrichting omgedraaid. * MEERDERE VENSTERS ------------------- Een van Emacs' aardige eigenschappen is dat je meerdere vensters op het scherm kan laten zien. >> Zet de cursor op deze regel en tik C-u 0 C-l. >> Tik C-x 2 om het scherm in twee vensters op te splitsen. Beide vensters laten deze inleiding zien; de cursor blijft in het bovenste venster. >> Tik C-M-v om de tekst in het onderste venster te verschuiven. (Als je geen META-toets hebt, tik dan <ESC> C-v.) >> Tik C-x o (met de o van "other"; "ander" in het Nederlands) om de cursor naar het andere venster te verplaatsen. >> Verschuif de tekst in het onderste venster, met C-v en M-v. Zorg ervoor dat je deze inleiding in het bovenste venster leest. >> Tik weer C-x o om de cursor weer in het bovenste venster te zetten. De cursor staat weer precies op de plaats waar hij stond toen je het venster verliet. Je kan C-x o blijven gebruiken om van venster naar venster te gaan. Elk venster heeft zijn eigen cursorpositie; de cursor is altijd enkel zichtbaar in een daarvan. Alle normale commando's hebben betrekking op het venster waarin de cursor staat. Dit venster is het "geselecteerde venster" ("selected window" in het Engels). Het C-M-v commando is erg nuttig wanneer je tekst aan het bewerken bent in het ene venster, terwijl je het andere venster als referentie gebruikt. Je kan de cursor dan altijd in het venster houden waarin je bezig bent, terwijl je met C-M-v door de tekst in het andere venster loopt. C-M-v is een voorbeeld van een CONTROL-META teken. Als je een echte META-toets hebt kan je C-M-v intikken door zowel CONTROL als META ingedrukt te houden terwijl je v tikt. Het maakt niet uit in welke volgorde je CONTROL en META indrukt; het gaat erom welke toetsen ingedrukt zijn terwijl je tikt. Als je geen echte META-toets hebt kan je <ESC> gebruiken; de volgorde is dan wel belangrijk. Je moet dan eerst <ESC> tikken, gevolgd door CONTROL-v; CONTROL-<ESC> v zal niet werken. Dit komt doordat <ESC> zelf een teken is, terwijl CONTROL en META dat niet zijn. >> Tik C-x 1 (in het bovenste venster) om het onderste venster te laten verdwijnen. (Als je C-x 1 tikt in het onderste venster laat je het bovenste verdwijnen. C-x 1 betekent zoveel als "ik wil maar 1 venster, en wel dat venster waar de cursor nu in staat.") Je hoeft niet dezelfde buffer in beide vensters te hebben. Wanneer je C-x C-f gebruikt om een bestand in één van de vensters te bezoeken, zal het andere venster niet veranderen. Je kunt de vensters onafhankelijk van elkaar gebruiken om bestanden te bezoeken. Hier is nog een manier om twee venster te krijgen die elk een andere tekst laten zien: >> Tik C-x 4 C-f gevolgd door de naam van een van je bestanden, gevolgd door <Return>. Het opgegeven bestand zal in het onderste venster verschijnen, en de cursor zal in dat venster staan. >> Tik C-x o om terug naar het bovenste venster te gaan, en C-x 1 om het onderste venster te laten verdwijnen. * RECURSIEVE BEWERKINGSNIVEAUS ------------------------------ Soms kom je in Emacs in een recursief bewerkingsniveau terecht (Engels: "recursive editing level"). Dit is te zien in de modusregel aan de vierkante haken die om de haakjes van de naam van de hoofdmodus staan. Dan staat er bijvoorbeeld [(Fundamental)] in plaats van (Fundamental). Tik <ESC> <ESC> <ESC> Om uit een recursief bewerkingsniveau te komen. Dit is een algemeen "ontsnappingscommando". Je kan het ook gebruiken om extra vensters te verwijderen of om uit de minibuffer te komen. >> Tik M-x om in een minibuffer te komen, en tik dan <ESC> <ESC> <ESC> om er weer uit te komen. C-g is niet bruikbaar om uit een recursief bewerkingsniveau te komen. De reden hiervoor is dat C-g gebruikt wordt om commando's af te breken BINNEN het recursieve bewerkingsniveau. * MEER INFORMATIE ----------------- We hebben geprobeerd je met deze inleiding precies genoeg informatie te leveren om met Emacs te beginnen werken. De mogelijkheden van Emacs zijn zo groot dat het onmogelijk is nu alles uit te leggen. Het kan zijn dat je meer over Emacs wil leren omdat het zoveel nuttige mogelijkheden heeft. Emacs heeft commando's om documentatie te laten zien over Emacs commando's. Deze "helpcommando's" beginnen allemaal met C-h: "het Hulpteken". Om hulp te krijgen tik je C-h, gevolgd door een teken om aan te duiden welke hulp je wilt. Als je het echt niet meer weet, tik C-h ? en Emacs vertelt welke hulp het allemaal te bieden heeft. Als je C-h hebt getikt maar van gedachten veranderd bent, tik je gewoon C-g om het af te breken. (In sommige installaties wordt de betekenis van C-h veranderd. Dat is geen goed idee, zeker als die verandering op alle gebruikers invloed heeft, en is een geldige reden om je beklag te doen bij de systeembeheerder of de helpdesk. Als C-h intussen niet een bericht onderaan het scherm laat zien over mogelijke hulp, probeer dan de F1 toets (functietoets 1) of gebruik M-x help <Return>.) De eenvoudigste hulp is C-h c. Tik C-h, het teken "c" en een teken of uitgebreid commando, en Emacs laat een zeer korte beschrijving van het commando zien. >> Tik C-h c C-p. De beschrijving die getoond wordt, zou zoiets moeten zijn als: C-p runs the command previous-line (Nederlands: C-p voert het commando previous-line uit.) Dit commando vertelt je "de naam van de functie". Functies worden vooral gebruikt om Emacs uit te breiden of aan de wensen van de gebruiker aan te passen. Aangezien functienamen gekozen zijn om aan te geven wat de functie doet, zijn ze ook geschikt als heel korte documentatie; genoeg om je te herinneren aan wat de commando's die je al geleerd hebt betekenen. Uitgebreide commando's zoals C-x C-s en (als je geen META-, EDIT- of ALT-toets hebt) <ESC> v kunnen ook getikt worden na C-h c. Om meer informatie over een commando te krijgen, tik C-h k in plaats van C-h c. >> Tik C-h k C-p. Dit laat de documentatie van de functie, inclusief de naam van de functie, in een apart venster zien. Als je klaar bent met lezen, tik C-x 1 om van dat venster af te komen. Je hoeft dat natuurlijk niet meteen te doen. Je kan ook eerst wat anders doen voordat je C-x 1 tikt. Hier zijn nog wat nuttige mogelijkheden van C-h: C-h f Beschrijf een functie. Je moet de naam van de functie intikken. >> Tik C-h f previous-line<Return> Dit laat alle informatie zien die Emacs heeft over de functie die het C-p commando implementeert. Een vergelijkbaar commando C-h v toont de documentatie van variabelen die je kunt instellen om het gedrag van Emacs naar wens aan te passen. Het commando vraagt je om de naam van een variabele. C-h a Commando Apropos. Tik een woord in en Emacs zal een lijst van alle commando's laten zien waarin dat woord voorkomt. Al deze commando's kunnen aangeroepen worden met M-x. Bij sommige commando's staat met welke tekens dit commando direct uitgevoerd kan worden. >> Tik C-h a file<Return>. Dit laat in een ander venster alle M-x commando's zien met "file" in hun naam. Je zal teken-commando's zien als C-x C-f naast de overeenkomende commandonaam zoals find-file. >> Tik C-M-v herhaaldelijk om de tekst in het hulpvenster te verschuiven. >> Tik C-x 1 om het hulpvenster te verwijderen. C-h i Lees de online handleidingen (ook wel Info genoemd). Dit commando zet je in een speciale buffer genaamd "*info*" waar je online handleidingen kunt lezen van software die op je computer is geïnstalleerd. Tik m Emacs <Return> om de handleiding van Emacs te lezen. Als je nog nooit Info hebt gebruikt dan kun je ? tikken zodat Emacs je een rondleiding geeft langs de mogelijkheden van het Info systeem. Wanneer je klaar bent met deze Emacs-inleiding dan kun je de Emacs-Info-handleiding gebruiken als je primaire bron van informatie. * MEER MOGELIJKHEDEN -------------------- Je kunt meer over Emacs leren door haar handleiding te lezen. Deze is zowel als boek als in elektronische vorm via Info beschikbaar (gebruik het Help menu of tik <F10> h r). Kijk bijvoorbeeld eens naar "completion", hetgeen minder tikwerk oplevert, of "dired" wat het omgaan met bestanden vereenvoudigt. "Completion" (of "afmaken", in het Nederlands) is een manier om onnodig tikwerk te voorkomen. Als je bijvoorbeeld naar de "*Messages*" buffer wilt omschakelen, dan kun je C-x b *M<Tab> tikken en dan zal Emacs de rest van de buffernaam invullen voor zover dit mogelijk is. Completion staat beschreven in de node "Completion" in de Emacs-Info-handleiding. "Dired" toont je een lijst van bestanden in een directory, waarmee je gemakkelijk bestanden kunt bezoeken, van naam kunt veranderen, kunt wissen, of andere acties op uit kunt voeren. Informatie over Dired kun je vinden in de node "Dired" van de Emacs-Info-handleiding. * CONCLUSIE ----------- Denk eraan dat je met C-x C-c Emacs permanent verlaat. Om tijdelijk een shell te krijgen en daarna weer in Emacs terug te komen, tik je C-z. De bedoeling van deze inleiding is dat ze begrijpelijk is voor alle nieuwe Emacs-gebruikers. Als je dus iets onduidelijks bent tegengekomen, blijf dan niet zitten en maak jezelf geen verwijten. Doe je beklag! * KOPIËREN ----------- (De Engelse versie van) deze inleiding is voorafgegaan door een lange reeks van Emacs-inleidingen, die begon met de inleiding die Stuart Cracraft schreef voor de originele Emacs. Deze Nederlandse vertaling is gemaakt door Pieter Schoenmakers <tiggr@ics.ele.tue.nl> op basis van de GNU Emacs 20.2 TUTORIAL, en nagezien en verbeterd door Frederik Fouvry en Lute Kamstra. (Wat nu volgt is een vertaling naar het Nederlands van de condities voor gebruik en verspreiding van deze inleiding. Deze vertaling is niet gecontroleerd door een jurist. Er kunnen derhalve geen rechten aan de vertaling worden ontleend, en de vertaling wordt gevolgd door het Engelse origineel.) Deze versie van de inleiding valt onder copyright, net als GNU Emacs. Je mag deze inleiding verspreiden onder bepaalde voorwaarden: Copyright (c) 1985, 1996, 1997, 2003, 2004, 2005 Free Software Foundation Iedereen mag letterlijke kopieën van dit document, zowel ontvangen als verspreiden, op elk medium, vooropgesteld dat de copyrightvermelding en de toestemmingsmelding niet veranderd worden en dat de verspreider aan de ontvanger dezelfde distributierechten verleent als aan hem verleend worden door deze melding. Toestemming wordt verleend om veranderde versies van dit document, of delen daarvan, te verspreiden, onder bovenstaande voorwaarden, vooropgesteld dat ze ook duidelijk vermelden wie als laatste veranderingen aangebracht heeft. De condities voor het kopiëren van Emacs zelf zijn ingewikkelder dan dit, maar gebaseerd op dezelfde gedachte. Lees het bestand COPYING en geef vervolgens kopieën van Emacs aan al je vrienden. Help bij het uitroeien van softwarebeschermingspolitiek ("eigendom") door vrije software te gebruiken, te schrijven en te delen! (Engels origineel van de copyrightmelding en condities: This version of the tutorial, like GNU Emacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (c) 1985, 1996, 1997, 2003, 2004, 2005 Free Software Foundation Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and permission notice are preserved, and that the distributor grants the recipient permission for further redistribution as permitted by this notice. Permission is granted to distribute modified versions of this document, or of portions of it, under the above conditions, provided also that they carry prominent notices stating who last altered them. The conditions for copying Emacs itself are more complex, but in the same spirit. Please read the file COPYING and then do give copies of GNU Emacs to your friends. Help stamp out software obstructionism ("ownership") by using, writing, and sharing free software!) ;;; Local Variables: ;;; coding: latin-1 ;;; End: ;;; arch-tag: 3399e308-e605-4125-8fbb-b2fe91ac3149