1De Emacs-inleiding. De kopieervoorwaarden staan onderaan. 2 3De meeste Emacs-commando's gebruiken de CONTROL-toets (soms CTRL of CTL 4genaamd) en/of de META-toets (soms genaamd EDIT of ALT). In plaats van 5steeds de volledige naam te noemen, gebruiken we de volgende afkortingen: 6 7 C-<ltr> betekent: houd de CONTROL-toets ingedrukt en tik de toets <ltr> 8 Dus C-f wordt: houd de CONTROL-toets ingedrukt en tik f. 9 M-<ltr> betekent: houd de META-, EDIT- of ALT-toets ingedrukt en tik 10 de toets <ltr>. Als er geen toets META, EDIT of ALT is, kun 11 je ook eerst de ESC-toets tikken, gevolgd door <ltr>. We 12 verwijzen naar de ESC-toets als <ESC>. 13 14BELANGRIJK: om Emacs te verlaten, tik C-x C-c (twee tekens). 15Om een commando halverwege af te breken, tik C-g. 16De tekens ">>" tegen de linkerkantlijn nodigen je uit om een bepaald 17commando te proberen. Bijvoorbeeld: 18<<Blank lines inserted around following line by help-with-tutorial>> 19[Lege regels om didactische redenen. Hieronder gaat het verder.] 20>> Tik nu C-v (volgend scherm) om naar het volgende scherm te gaan. 21 (Geef nu het commando door de CONTROL-toets ingedrukt te 22 houden terwijl je de v tikt.) Vanaf nu moet je dit steeds 23 herhalen als je klaar bent met het lezen van een scherm. 24 25Merk op dat er een overlapping van twee regels is als je van een 26scherm naar het volgende gaat; dat zorgt voor continuïteit bij het 27lezen van de tekst. 28 29Het eerste wat je moet weten, is hoe je je naar verschillende plaatsen 30in de tekst kan bewegen. Je weet al hoe je een scherm vooruit moet 31gaan: met C-v. Om een scherm terug te gaan, tik je M-v (houd de 32META-toets ingedrukt en tik v, of tik <ESC> v als je geen META-, EDIT- 33of ALT-toets hebt). 34 35>> Probeer nu een paar keer M-v, steeds gevolgd door C-v. 36 37 38* SAMENVATTING 39-------------- 40 41De volgende commando's zijn handig om volledige schermen te bekijken: 42 43 C-v Ga een scherm vooruit 44 M-v Ga een scherm terug 45 C-l Maak het scherm schoon en teken alle tekst opnieuw, 46 waarbij de regel waarop de cursor staat, op het 47 midden van het scherm terecht komt. (C-l is 48 CONTROL-L, niet CONTROL-1.) 49 50>> Kijk waar de cursor staat, en onthoud de tekst er omheen. Tik C-l. 51 Zoek de cursor en merk op dat hij nog steeds bij dezelfde tekst 52 staat, maar nu in het midden van het scherm. 53 Als je weer C-l tikt dan gaat hij naar de bovenkant van het scherm. 54 Nog een keer C-l en hij gaat naar de onderkant. 55 56Als je toetsenbord PageUp- en PageDn-toetsen heeft dan kun je deze ook 57gebruiken om een scherm terug dan wel vooruit te gaan, maar het werken 58met C-v en M-v is efficiënter. 59 60 61* BASISCOMMANDO'S CURSORBEWEGINGEN 62---------------------------------- 63 64Het is handig om je per scherm te bewegen, maar hoe beweeg je je nu 65naar een specifieke plaats op het scherm? 66 67Er is een aantal manieren waarop je dit kan doen. Je kan de 68pijltjestoetsen gebruiken, maar het is efficiënter om je handen in de 69standaardhouding te laten, en de commando's C-p, C-b, C-f en C-n te 70gebruiken. Deze commando's komen overeen met de pijltjestoetsen, als 71in onderstaande figuur: 72 73 vorige regel, C-p 74 : 75 : 76 achteruit, C-b .... huidige cursorpositie .... vooruit, C-f 77 : 78 : 79 volgende regel, C-n 80 81>> Verplaats, met C-n of C-p, de cursor naar de middelste regel van de 82 figuur. Tik dan C-l om de hele figuur in het midden van het 83 scherm te plaatsen. 84 85Met een beetje kennis van het Engels zijn deze commando's gemakkelijk 86te onthouden: de p komt van "previous" (vorige), de n van "next" 87(volgende), de b van "backward" (achteruit) en de f van "forward" 88(vooruit). Dit zijn de basiscommando's om de cursor te bewegen, die 89je VOORTDUREND zal gebruiken. 90 91>> Tik een paar keer C-n om de cursor op deze regel te zetten. 92 93>> Beweeg de cursor binnen de regel met een paar keer C-f en terug 94 omhoog met C-p. Let op wat C-p doet als de cursor midden in een 95 regel staat. 96 97Elke regel eindigt met een Newline-teken (het Engelse "new line" 98betekent "nieuwe regel"); dit teken scheidt elke regel van de 99volgende. (De laatste regel in een bestand heeft meestal ook een 100Newline aan het eind maar dat is geen vereiste voor Emacs.) 101 102>> Probeer C-b aan het begin van een regel. De cursor zal zich naar 103 het eind van de vorige regel bewegen, omdat je achteruit over het 104 Newline-teken gaat. 105 106Net als C-b kan ook C-f zich over Newline-tekens heen bewegen. 107 108>> Tik nog een aantal keren het commando C-b, zodat je een gevoel 109 krijgt waar de cursor is. Tik dan enkele keren C-f om de cursor 110 naar het eind van de regel te bewegen. Nog een C-f commando 111 beweegt de cursor dan naar de volgende regel. 112 113Wanneer je de cursor voorbij het begin of het eind van het scherm 114beweegt, zal de tekst over het scherm bewegen. Dit heet "scrollen". 115Door te scrollen zorgt Emacs ervoor dat de cursor naar de gewenste 116plaats in de tekst kan gaan zonder de cursor van het scherm te laten 117verdwijnen. 118 119>> Probeer de cursor voorbij de onderkant van het scherm te bewegen 120 met C-n en zie wat er gebeurt. 121 122Als de beweging per teken te langzaam gaat, kan je de cursor ook per 123woord bewegen. M-f (META-f) beweegt de cursor een woord vooruit en 124M-b een woord achteruit. 125 126>> Tik enkele keren M-f en M-b. 127 128Als je midden in een woord staat, beweegt M-f de cursor naar het eind 129van het woord. Als je op witruimte tussen twee woorden staat, beweegt 130M-f de cursor naar het eind van het volgende woord. Het commando M-b 131werkt op dezelfde manier de andere kant op. 132 133>> Tik enkele keren M-f en M-b en tussendoor een paar maal C-f en C-b, 134 zodat je ziet wat M-f en M-b doen vanaf verschillende plaatsen in 135 een woord en tussen twee woorden. 136 137Merk op dat er een analogie bestaat tussen enerzijds C-f en C-b en 138anderzijds M-f en M-b. Het is bij veel commando's zo dat META-tekens 139gebruikt worden om iets te doen in eenheden van de taal (woorden, 140zinnen, alinea's) terwijl CONTROL-tekens te maken hebben met de 141bouwstenen die onafhankelijk zijn van wat je aan het bewerken bent 142(tekens, regels, enz.). 143 144Deze analogie gaat ook op voor regels en zinnen: C-a en C-e bewegen de 145cursor naar het begin of eind van een regel, terwijl met M-a, 146respectievelijk M-e, de cursor naar het begin, respectievelijk het 147eind, van een zin gaat. 148 149>> Probeer een paar maal C-a, en dan enkele keren C-e. 150 Probeer een paar maal M-a, en dan enkele keren M-e. 151 152Bemerk hoe herhaalde C-a commando's niets doen, terwijl herhaalde M-a 153commando's de cursor steeds een zin achteruit bewegen. Alhoewel ze 154niet volledig overeenkomen, lijkt het gedrag van beide heel natuurlijk. 155 156De plaats van de cursor in de tekst wordt "punt" genoemd (zonder 157lidwoord, "point" in het Engels). Anders gezegd: de cursor laat op 158het scherm de plek zien waar punt in de tekst staat. 159 160Nu volgt een samenvatting van eenvoudige cursorbewegingen, inclusief 161de commando's die de cursor per woord of zin bewegen: 162 163 C-f Ga een teken vooruit 164 C-b Ga een teken achteruit 165 166 M-f Ga een woord vooruit 167 M-b Ga een woord achteruit 168 169 C-n Ga naar de volgende regel 170 C-p Ga naar de vorige regel 171 172 C-a Ga naar het begin van de regel 173 C-e Ga naar het eind van de regel 174 175 M-a Ga terug naar het begin van de zin 176 M-e Ga vooruit naar het eind van de zin 177 178>> Probeer al deze commando's een paar keer als oefening. 179 Dit zijn de meestgebruikte commando's. 180 181Er zijn nog twee belangrijke cursorbewegingen: M-< (META kleiner-dan) 182beweegt de cursor naar het begin van de tekst, en M-> (META 183groter-dan) beweegt hem naar het eind. 184 185Op de meeste toetsenborden zit de '<' boven de komma, zodat je de 186Shift-toets (ook wel bekend als de hoofdlettertoets) moet gebruiken om 187het '<'-teken in te tikken. Op deze toetsenborden moet je ook de 188shift gebruiken om M-< in te tikken: zonder shift zou je M-komma tikken. 189 190>> Tik nu M-< om naar het begin van dit bestand te gaan. 191 Gebruik daarna C-v om hier weer terug te komen. 192 193>> Tik nu M-> om naar het eind van het bestand te springen. 194 Gebruik daarna M-v om hier weer terug te komen. 195 196Als je toetsenbord pijltjestoetsen heeft, kan je die ook gebruiken om 197de cursor te verplaatsen. We raden je aan om C-b, C-f, C-n en C-p te 198leren, om drie redenen. Ten eerste werken ze op alle soorten 199toetsenborden. Ten tweede zul je merken dat wanneer je eenmaal wat 200ervaring hebt opgedaan in de omgang met Emacs, het gebruik van de 201CONTROL-tekens sneller is dan werken met de pijltjestoetsen (omdat je 202handen in de normale tikpositie kunnen blijven). Ten derde, als je 203eenmaal gewend bent aan deze commando's met CONTROL-tekens, kan je 204makkelijk andere gevorderde cursorbewegingscommando's leren. 205 206De meeste Emacs-commando's accepteren een numeriek argument. Voor de 207meeste commando's is dit argument het aantal keren dat het commando 208herhaald moet worden. Je geeft dit numerieke argument aan met C-u en 209vervolgens de cijfers van het getal, vóór het commando. Als je 210toetsenbord een META- (of EDIT- of ALT-) toets heeft, is er ook een 211andere manier om het getal aan te geven: tik de cijfers terwijl je de 212META toets ingedrukt houdt. We raden je aan de C-u manier te leren 213omdat die beschikbaar is op elke terminal. Het numerieke argument 214wordt ook wel het "prefix-argument" genoemd omdat je het typt voor 215het commando waar het bij hoort. 216 217Bijvoorbeeld, C-u 8 C-f beweegt de cursor 8 plaatsen naar voren. 218 219>> Probeer eens om met C-n of C-p en een numeriek argument de cursor 220 met slechts een commando naar een regel in de buurt van deze zin te 221 bewegen. 222 223Voor de meeste commando's is het numerieke argument het aantal keren 224dat het commando herhaald moet worden. Voor sommige commando's 225betekent het echter iets anders. Verschillende commando's (die je 226totnogtoe niet geleerd hebt) gebruiken het als een vlag -- de 227aanwezigheid van een prefix-argument, ongeacht zijn waarde, maakt dat 228het commando iets anders doet. 229 230C-v en M-v vormen een andere uitzondering. Met een numeriek argument 231verschuiven deze commando's de tekst het aangegeven aantal regels in 232plaats van (bijna) een heel scherm. Bijvoorbeeld, C-u 4 C-v 233verschuift de tekst 4 regels. 234 235>> Probeer nu C-u 8 C-v. 236 237Daarmee zou de tekst 8 regels opgeschoven moeten zijn. Als je terug 238omlaag wil scrollen, kan je M-v een argument geven. 239 240Als je een grafisch scherm gebruikt, zoals X of MS-Windows, dan zou je 241een hoge rechthoek moeten zien aan een katn van het Emacs-venster. 242Deze rechthoek heet de schuifbalk ("scroll bar" in het Engels). Je 243kan de tekst scrollen door met de muis in de schuifbalk te klikken. 244 245Als je muis een scrollwiel heeft, dan kan je die gebruiken om te scrollen. 246 247 248* ALS EMACS HANGT 249----------------- 250 251Als Emacs niet meer op commando's reageert, kan je het gerust 252onderbreken door C-g te tikken. Je kan C-g gebruiken om een commando 253af te breken als het te lang duurt om uit te voeren. 254 255Je kan C-g ook gebruiken om een numeriek argument te verwijderen of om 256het begin van een commando dat je niet wilt afmaken, af te breken. 257 258>> Tik nu C-u 100 om een numeriek argument te maken met de waarde 100, 259 en tik dan C-g. Tik vervolgens C-f. Het zou de cursor maar één 260 positie mogen verplaatsen, omdat je het argument verwijderd hebt 261 met C-g. 262 263Als je per ongeluk een <ESC> tikt, kan je dat ongedaan maken met het 264commando C-g. 265 266 267* UITGESCHAKELDE COMMANDO'S 268--------------------------- 269 270Sommige Emacs-commando's zijn uitgeschakeld zodat beginnende 271gebruikers ze niet per ongeluk kunnen uitvoeren. 272 273Als je een van de uitgeschakelde commando's intikt, laat Emacs uitleg 274zien over het commando dat je gegeven hebt, en vraagt of je het 275werkelijk wil uitvoeren. 276 277Wanneer je het commando echt wil uitvoeren, tik dan <SPC> (de 278spatiebalk) als antwoord op de vraag. Normaal wil je het commando 279niet uitvoeren en beantwoord je de vraag met "n" (van "no" of "nee"). 280 281>> Tik C-x C-l (een uitgeschakeld commando), en tik dan n als antwoord 282 op de vraag. 283 284 285* VENSTERS 286---------- 287 288Emacs kan meerdere vensters laten zien, elk venster met zijn eigen 289tekst. We zullen later uitleggen hoe je met meerdere vensters kan 290werken. Op dit moment willen we slechts uitleggen hoe je van extra 291vensters af kunt komen en terug kan keren naar het werken met één 292venster. Het is eenvoudig: 293 294 C-x 1 Een enkel venster (dat wil zeggen: verwijder alle 295 andere vensters). 296 297Het commando is CONTROL-x gevolgd door het cijfer 1. C-x 1 vergroot 298het venster waar de cursor in staat tot het hele scherm. Alle andere 299vensters worden verwijderd. 300 301>> Zet de cursor op deze regel en tik C-u 0 C-l. 302>> Tik nu C-h k C-f. 303 Zie hoe dit venster kleiner is geworden, terwijl een nieuw venster 304 verschijnt om de documentatie van het C-f commando te laten zien. 305 306>> Tik nu C-x 1 en zie het documentatievenster verdwijnen. 307 308Dit commando is anders dan de commando's die je tot nu toe geleerd 309hebt aangezien het uit twee tekens bestaat. Het begint met het teken 310CONTROL-x. Er zijn een heleboel commando's die met CONTROL-x 311beginnen. Veel van die commando's hebben te maken met vensters, 312bestanden, buffers, en soortgelijke dingen. Dergelijke commando's 313bestaan uit twee, drie of vier tekens. 314 315 316* TOEVOEGEN EN WEGHALEN 317----------------------- 318 319Als je tekst toe wil voegen, tik je die gewoon in. Tekens die je kan 320zien, zoals A, 7, * en dergelijke, worden door Emacs als tekst 321geïnterpreteerd en meteen toegevoegd. Tik <Return> (de "volgende 322regel"-toets) om een Newline toe te voegen en dus een nieuwe regel te 323beginnen. 324 325Om het teken dat dat voor de cursor staat te verwijderen, tik <DEL>. 326<DEL> is de toets op het toetsenbord die vaak "Backspace" heet -- 327dezelfde toets die je normaal gesproken, buiten Emacs, gebruikt om het 328laatst ingetikte teken te wissen. 329 330Er kan ook nog een toets op het toetsenbord zijn waarop "Delete" 331staat, maar dat is niet de knop die we <DEL> noemen. 332 333>> Probeer dit nu: tik een paar letters en haal ze weer weg door een 334 paar keer <DEL> te tikken. Maak je niet druk over het feit dat dit 335 bestand verandert; je zal niets veranderen aan de originele versie 336 van deze inleiding. Je bewerkt je eigen kopie. 337 338Als een regel tekst te lang wordt om helemaal op het scherm getoond te 339worden, dan gaat hij verder op de volgende schermregel. Als je een 340grafisch scherm gebruikt verschijnen kleine gebogen pijltjes links en 341rechts van het tekstgebied om aan te geven waar een regel voortgezet 342is. In een tekstvenster of terminal geeft een backslash (‘\’) in de 343laatste kolom een vervolgregel aan. 344 345>> Voeg nu tekst toe totdat je de rechter kantlijn raakt, en blijf 346 toevoegen. Je zal zien dat er een vervolgregel verschijnt. 347 348>> Tik weer enkele keren <DEL> om zoveel tekens weg te halen dat 349 de regel weer op een schermregel past. De vervolgregel zal 350 verdwijnen. 351 352Je kan een Newline zoals elk ander teken verwijderen. Als je een 353Newline verwijdert, voeg je de twee regels waar de Newline tussen 354staat samen tot een enkele regel. Als de regel die het resultaat is 355niet op een enkele schermregel past, zal hij getoond worden met een 356vervolgregel. 357 358>> Beweeg de cursor naar het begin van een regel en tik <DEL>. 359 Dit voegt die regel en de vorige regel samen. 360 361>> Tik <Return> om de Newline die je net verwijderd hebt weer toe te 362 voegen. 363 364Je herinnert je dat je bij de meeste Emacs-commando's het aantal keren 365op kan geven, dat ze herhaald moeten worden. Dit geldt ook voor 366gewone tekens. Als je een gewoon teken herhaalt, wordt dat teken 367meerdere keren toegevoegd. 368 369>> Probeer dat nu: tik C-u 8 * om ******** toe te voegen. 370 371Je hebt nu de basismanier geleerd om iets in Emacs te tikken en fouten 372te verbeteren. Je kan tekst ook per woord of regel verwijderen. Hier 373volgt een samenvatting van de commando's om tekst te verwijderen: 374 375 <DEL> Haal het teken weg dat voor de cursor staat 376 C-d Haal het teken weg dat achter de cursor staat 377 378 M-<DEL> Verwijder het woord dat voor de cursor staat 379 M-d Verwijder het woord dat achter de cursor staat 380 381 C-k Verwijder alles van de cursor tot het eind van de regel 382 M-k Verwijder alles van de cursor tot het eind van de zin 383 384Merk op dat <DEL> en C-d, met M-<DEL> en M-d de analogie verder 385trekken, die begon met C-f en M-f (waarbij we voor het gemak even 386vergeten dat <DEL> niet echt een CONTROL-teken is). C-k en M-k lijken 387enigzins op C-e en M-e in hun relatie tot regels en zinnen. 388 389Je kunt ook op één uniforme manier een willekeurig deel van de tekst 390verwijderen. Beweeg daartoe naar één kant van het gedeelte dat je 391wilt verwijderen en tik C-<SPC>. (<SPC> is de spatiebalk.) Beweeg nu 392naar de andere kant van de tekst die je wilt verwijderen. Terwijl je 393beweegt, markeert Emacs zichtbaar de tekst tussen de cursor en de 394plaats waar je C-<SPC> tikte. Tik C-w. Dit verwijdert alle tekst 395tussen beide posities. 396 397>> Beweeg de cursor naar de J aan het begin van de vorige alinea. 398>> Tik C-<SPC>. Emacs toont nu de mededeling "Mark set" ("Markering 399 geplaatst") onderaan het scherm. 400>> Plaats de cursor op de n van "kant" op de tweede regel van de 401 alinea. 402>> Tik C-w. Dit zal de tekst vanaf de J tot aan de n verwijderen. 403 404Er is een verschil tussen iets verwijderen ("kill") en iets weghalen 405("delete"): iets dat je hebt verwijderd ("killed"), kan je 406terugbrengen, maar iets dat je hebt weggehaald ("deleted") niet. (Je 407kan het weghalen wel herstellen, zie verderop.) Verwijderde tekst 408invoegen heet "yanken". In het algemeen geldt dat de commando's die 409veel tekst kunnen verwijderen, deze tekst bewaren zodat hij geyankt 410kan worden, terwijl dat niet geldt voor commando's die slechts een 411enkel teken weghalen. <DEL> en C-d zijn de eenvoudigste commando's om 412tekst weg te halen, zonder argument. Met argument verwijderen ze en 413kan de verwijderde tekst geyankt worden. 414 415>> Zet de cursor op het begin van een regel die niet leeg is. 416 Tik C-k om de tekst op die regel te verwijderen. 417>> Tik C-k een tweede keer. Nu verwijdert dit commando het 418 Newline-teken. 419 420Merk op hoe een enkel C-k commando de inhoud van een regel verwijdert, 421een tweede C-k commando de regel zelf zodat alle volgende regels een 422regel omhoog komen. Het numerieke argument is voor C-k bijzonder: het 423aangegeven aantal regels zal worden verwijderd, inclusief de inhoud. 424Dit is meer dan simpelweg herhaling: C-u 2 C-k verwijdert twee regels, 425terwijl tweemaal C-k tikken dat niet doet. 426 427Het invoegen van de laatst verwijderde tekst heet yanken ("yanking"). 428Je kan de tekst yanken op de plek waar je het verwijderde, op een 429andere plek of zelfs in een ander bestand. Je kan dezelfde tekst 430meerdere keren yanken; op deze manier maak je meerdere kopieën van 431dezelfde tekst. Verwijderen ("killing") en yanken worden in andere 432programma's ook wel knip ("cut") en plak ("paste") genoemd (zie ook de 433Glossary in de Emacs-handleiding). 434 435Het commando om te yanken is C-y. Het voegt de laatst verwijderde 436tekst in op de huidige cursorpositie. 437 438>> Probeer het nu: tik C-y om de tekst te yanken. 439 440Als je meerdere keren C-k achter elkaar hebt gedaan, dan worden alle 441verwijderde tekstregels samen onthouden, zodat een enkele C-y al die 442regels in één keer invoegt. 443 444>> Probeer het nu: tik C-k een paar keer. 445 446Om de verwijderde tekst terug te halen: 447 448>> Tik C-y. Beweeg de cursor enkele regels naar beneden en tik weer 449 C-y. Je ziet nu hoe je tekst kan kopiëren. 450 451Wat moet je doen als je wat tekst terug wilt brengen, maar je intussen 452al iets anders verwijderd hebt? C-y zou datgene terugbrengen wat je 453het recentst hebt verwijderd. Gelukkig is de voorgaande tekst niet 454verloren gegaan. Je kunt die tekst terughalen met M-y. Nadat je C-y 455hebt getikt om de recentst weggegooide tekst terug te halen, vervangt 456M-y die tekst met de tekst die je daarvoor had weggegooid. Je kunt 457M-y herhalen om tekst terug te halen die je al langer geleden hebt 458weggegooid. Als je de tekst te pakken hebt die je zocht, hoef je 459niets te doen om die daar te houden. Je kan gewoon verder werken en 460de teruggehaalde tekst met rust laten. 461 462Als je M-y vaak genoeg tikt kom je terug waar je begon, bij de laatst 463verwijderde tekst. 464 465>> Verwijder een regel, beweeg de cursor wat, en verwijder nog een 466 regel. Tik C-y om de tweede regel die je verwijderde, terug te 467 halen. Tik M-y en die regel wordt vervangen door de eerste 468 regel die je verwijderde. Tik nog enkele keren M-y en zie wat er 469 langs komt. Herhaal dit tot de tweede regel weer langs komt, en 470 dan nog een paar keer. Je kan ook experimenteren met positieve en 471 negatieve argumenten bij M-y. 472 473 474* HERSTELLEN 475------------ 476 477Als je de tekst veranderd hebt en je daar toch niet tevreden mee bent, 478dan kan je de verandering ongedaan maken met het herstelcommando, C-/. 479 480Normaal gesproken herstelt C-/ de veranderingen die het gevolg zijn 481van een enkel commando; door herhaaldelijk C-/ te tikken, worden 482steeds eerdere commando's hersteld. 483 484Er zijn echter twee uitzonderingen: commando's die de tekst niet 485wijzigen, zoals cursorbewegingen en scrollen, worden overgeslagen, en 486commando's die simpelweg het ingetikte teken aan de tekst toevoegen, 487worden meestal samengenomen in groepjes van maximaal 20 tekens. 488(Hierdoor hoef je minder vaak C-/ te tikken om teksttoevoegingen te 489herstellen.) 490 491>> Gooi deze regel weg met C-k; met C-/ zal hij weer verschijnen. 492 493C-_ is een alternatief herstelcommando; het doet exact hetzelfde als 494C-/. Op sommige terminals stuurt het tikken van C-/ in werkelijkheid 495een C-_ naar Emacs. Nog een alternatief commando is C-x u, maar dit 496is minder makkelijk te tikken. 497 498Een numeriek argument bij C-/, C-_ of C-x u duidt het aantal 499herhalingen aan. 500 501Je kan het weghalen van tekst herstellen, net zoals je het verwijderen 502ervan herstelt. Het verschil tussen iets verwijderen of weghalen is 503of je het kan yanken met C-y. Voor het herstellen maakt het geen 504verschil. 505 506 507 508* BESTANDEN 509----------- 510 511Om een tekst die je gemaakt of veranderd hebt op te slaan, moet je de 512tekst in een bestand opslaan ("to save a file" in het Engels). Als je 513dat niet doet, ben je die veranderingen kwijt op het moment dat je 514Emacs verlaat. Je kan een bestand veranderen door het bestand te 515"bezoeken". (Ook wel "vinden"; "finding" of "visiting" in het 516Engels.) 517 518Een bestand bezoeken betekent dat je de inhoud van dat bestand in 519Emacs ziet. Het lijkt er dan op alsof je het bestand aan het 520veranderen bent. Deze veranderingen zijn echter slechts tijdelijk 521zolang je het bestand niet opslaat. Op deze manier kan je nooit per 522ongeluk een half gewijzigd bestand op het systeem achterlaten. Zelfs 523als je het bestand opslaat, zorgt Emacs ervoor dat het originele 524bestand onder een gewijzigde naam nog steeds beschikbaar is, voor het 525geval je later besluit dat de veranderingen toch niet zo goed waren. 526 527Bij de onderkant van het scherm zie je een regel die begint 528met streepjes, met aan het begin "-:-- TUTORIAL.nl" of iets 529dergelijks. Dit deel van het scherm laat normaal de naam van het 530bestand zien dat je op dat moment bezoekt. Op dit moment bezoek je 531een bestand dat "TUTORIAL.nl" heet; het is je eigen kopie van de 532Nederlandstalige Emacs-inleiding ("tutorial" in het Engels). Als je 533in Emacs een bestand bezoekt dan staat de naam van het bestand altijd 534op deze plaats. 535 536Iets bijzonders aan het commando om een bestand te bezoeken, is dat je 537aan moet geven welk bestand je wil. Dit heet dat het commando "een 538argument inleest"; in dit geval de naam van het bestand. Nadat je het 539commando 540 541 C-x C-f Bezoek bestand (met de f van "find file"). 542 543hebt getikt vraagt Emacs om de naam van het bestand. De naam die je 544intikt verschijnt op de onderste regel van het scherm. Wanneer die 545regel voor dit soort invoer gebruikt wordt, heet hij de minibuffer. 546Je kan gewone Emacs commando's gebruiken om de bestandsnaam in te 547geven. 548 549Tijdens het invoeren van de bestandsnaam (of om het even welke invoer 550in de minibuffer) kan je het commando afbreken met C-g. 551 552>> Tik C-x C-f gevolgd door C-g. Dit commando breekt de minibuffer af 553 en ook het C-x C-f commando dat van de minibuffer gebruik maakte. 554 Het resultaat is dat je geen bestand bezoekt. 555 556Als je de naam van een bestand hebt ingevoerd, tik dan <Return> om het 557commando af te sluiten. Hierna verdwijnt de minibuffer en gaat het 558C-x C-f commando aan het werk: het haalt het bestand op dat je 559aangegeven hebt. 560 561De inhoud van het bestand verschijnt nu op het scherm en je kan de 562inhoud wijzigen. Als je de wijzigingen op wilt slaan, tik dan het 563commando 564 565 C-x C-s Sla bestand op (met de s van "save file"). 566 567Dit commando slaat de tekst zoals Emacs die nu heeft op in het 568bestand. De eerste keer dat je dit doet, slaat Emacs het originele 569bestand onder een andere naam op, zodat het niet verloren gaat. De 570nieuwe naam bestaat uit de oude bestandsnaam gevolgd door een "~". 571 572Als Emacs het bestand heeft opgeslagen, laat het de naam van het 573bestand zien. Het is een goede gewoonte een bestand regelmatig op te 574slaan zodat er niet teveel werk verloren gaat als het systeem crasht 575(zie ook "Automatisch bewaren" hieronder). 576 577>> Tik C-x C-s TUTORIAL.nl <Return> 578 Op deze manier sla je deze inleiding op in een bestand genaamd 579 TUTORIAL.nl. Als het goed is verschijnt "Wrote ...TUTORIAL.nl" op de 580 onderste schermregel. 581 582Je kan een bestand dat al bestaat bezoeken om het te bekijken of het 583te wijzigen. Je kan ook een bestand bezoeken dat nog niet bestaat. 584Dit is de manier om met Emacs een nieuw bestand te maken: bezoek het 585bestand, dat eerst leeg zal zijn, en voeg tekst toe. Zodra je de 586tekst opslaat, wordt het bestand werkelijk gecreëerd, met de nieuwe 587tekst als inhoud. Vanaf dat moment ben je dus bezig met een bestand 588dat al bestaat. 589 590 591* BUFFERS 592--------- 593 594Als je een tweede bestand bezoekt met C-x C-f, blijft het eerste 595bestand gewoon in Emacs. Je kan naar dat bestand terug door het 596gewoon nog een keer te bezoeken met C-x C-f. Op deze manier kan je 597een behoorlijk aantal bestanden in Emacs hebben. 598 599Emacs onthoudt de tekst van elk bestand in een ding dat een "buffer" 600heet. Als je een bestand bezoekt maakt Emacs een nieuwe buffer aan. 601Om een lijst van de huidige buffers te zien, tik 602 603 C-x C-b Toon de bufferlijst 604 605>> Probeer C-x C-b nu. 606 607Merk op dat elke buffer een naam heeft en mogelijk ook een 608bestandsnaam: de naam van het bestand waarvan de inhoud in de buffer 609zit. ALLE tekst die je in een Emacs venster ziet is altijd onderdeel 610van een of andere buffer. 611 612>> Tik C-x 1 om de bufferlijst uit het zicht krijgen. 613 614Wanneer je met meerdere buffers werkt, dan is op elk moment slechts 615één van die buffers "actueel". De actuele buffer is degene die je aan 616het bewerken bent. Als je een andere buffer wilt bewerken, dan moet 617je daarnaar "omschakelen". Als je wilt omschakelen naar een buffer 618die overeenkomt met een bestand, dan kun je dit doen door dat bestand 619opnieuw te bezoeken met C-x C-f. Er is ook een makkelijkere manier: 620gebruik het commando C-x b. Dit commando vraagt je naar de naam van 621de buffer. 622 623>> Bezoek een bestand met de naam "foo" door te tikken: C-x C-f foo 624 <Return>. Tik vervolgens C-x b TUTORIAL <Return> om terug te komen 625 in deze Emacs-inleiding. 626 627Meestal is de naam van de buffer gelijk aan de naam van het bestand 628(minus de naam van de directory). Dit klopt echter niet altijd. De 629lijst met buffers die je maakt met C-x C-b laat je zowel de naam van 630buffer als de bestandsnaam van alle buffers zien. 631 632ALLE tekst die je ziet in een venster van Emacs is altijd onderdeel 633van een of andere buffer. Sommige buffers komen niet overeen met een 634bestand. De buffer genaamd "*Buffer List*" heeft bijvoorbeeld geen 635bijbehorend bestand (deze buffer bevat de lijst met buffers die je 636gemaakt hebt met C-x C-b). Deze TUTORIAL.nl-buffer had in het begin 637ook geen bijbehorend bestand; nu heeft hij die wel omdat je eerder in 638deze inleiding C-x C-s tikte om hem in een bestand op te slaan. 639 640Ook de buffer "*Messages*" hoort niet bij een bestand; deze buffer 641bevat de mededelingen die Emacs op de onderste regel toonde tijdens 642deze Emacs-sessie. 643 644>> Tik C-x b *Messages* <Return> om de buffer met mededelingen te 645 bekijken. Tik daarna weer C-x b TUTORIAL.nl <Return> om terug te 646 keren naar deze Emacs-inleiding. 647 648Als je de tekst van het ene bestand verandert en dan een ander bestand 649bezoekt, wordt het eerste bestand niet opgeslagen. De wijzigingen 650blijven in Emacs, in de buffer die bij het bestand hoort. Het creëren 651of veranderen van de buffer van het tweede bestand heeft geen effect 652op de eerste buffer. Dit is erg nuttig, maar betekent ook dat er een 653eenvoudige manier nodig is om het eerste bestand te bewaren. Het zou 654erg vervelend zijn om er eerst naar terug te moeten gaan met C-x C-f 655om het dan te kunnen bewaren met C-x C-s. Dus hebben we het commando: 656 657 C-x s Sla een paar buffers op 658 659C-x s vraagt voor elke buffer die veranderingen heeft die nog niet 660opgeslagen zijn, of je de buffer wilt bewaren. 661 662>> Voeg wat tekst toe en tik C-x s. 663 Emacs vraagt nu of je de buffer die TUTORIAL.nl heet wilt bewaren. 664 Beantwoord deze vraag positief door een "y" in te tikken (de y van 665 "yes", Engels voor "ja"). 666 667 668* UITGEBREIDE COMMANDO'S 669------------------------ 670 671Er zijn veel meer Emacs commando's dan er op de toetsen van het 672toetsenbord passen, zelfs als we hun aantal vergroten door de CONTROL- 673of de META-toets te gebruiken. Emacs lost dit probleem op met het X 674commando (met de X van eXtensie of uitbreiding). Het X commando kent 675twee smaken: 676 677 C-x Tekenuitbreiding. Wordt gevolgd door een teken. 678 M-x Commando-naam-uitbreiding. Wordt gevolgd door een naam. 679 680Deze commando's zijn in het algemeen nuttig, maar worden minder 681gebruikt dan de commando's die je tot nu toe al geleerd hebt. Je hebt 682al enkele van deze commando's gezien: C-x C-f om een bestand te 683bezoeken en C-x C-s om het te bewaren, bijvoorbeeld. Een ander 684voorbeeld is het commando om Emacs te verlaten: dit is C-x C-c. (Maak 685je geen zorgen over het verloren gaan van veranderingen die niet 686opgeslagen zijn; C-x C-c vraagt of je veranderde buffers wilt bewaren 687voordat Emacs helemaal stopt.) 688 689Als je een grafisch scherm gebruikt heb je geen commando's nodig om 690van Emacs naar een andere applicatie te gaan. Je gebruikt dat de muis 691of commando's van de vensterbeheerder. Als je Emacs gebruikt in een 692tekstvenster of terminal, die maar één applicatie tegelijkertijd kan 693laten zien, moet je Emacs tijdelijk verlaten om naar een andere 694applicatie te gaan. 695 696C-z is het commando om Emacs *tijdelijk* te verlaten, zodat je daarna 697weer terug kan keren naar dezelfde Emacs-sessie. Als je Emacs in een 698tekstvenster op terminal gebruikt, zet C-z Emacs stil: je komt weer 699terug in de shell, maar Emacs is nog aanwezig. In de meeste shells 700kan je Emacs weer activeren met het "fg" commando, of met "%emacs". 701 702Het moment om C-x C-c te gebruiken is wanneer je uit gaat loggen. Het 703is ook het juiste commando om Emacs te beëindigen wanneer Emacs 704opgestart was door een mail-programma of iets dergelijks. 705 706Er bestaan vele C-x commando's. Hier is een lijst van degene die je 707nu al kent: 708 709 C-x C-f Bezoek bestand 710 C-x C-s Sla bestand op 711 C-x s Sla een paar buffers op 712 C-x C-b Laat bufferlijst zien 713 C-x b Schakel naar een buffer 714 C-x C-c Verlaat Emacs 715 C-x 1 Een enkel venster 716 C-x u Herstel 717 718Commando-naam-commando's worden nog minder vaak gebruikt, of alleen 719onder bepaalde omstandigheden. Een voorbeeld is het commando 720replace-string, dat in de hele tekst een string vervangt door een 721andere string ("to replace" betekent "vervangen"). Als je M-x tikt, 722toont Emacs onderaan het scherm "M-x" en moet je de naam van het 723commando intikken, in dit geval "replace-string". Als je gewoon 724"repl s<TAB>" tikt maakt Emacs de naam zelf af. (<TAB> is de 725Tab-toets, die meestal boven de CapsLock of Shift-toets zit aan de 726linkerkant van het toetsenbord.) Beëindig het commando met <Return>. 727 728Het replace-string commando heeft twee argumenten nodig: de string die 729vervangen moet worden en de string waarmee die vervangen moet worden. 730Je sluit elk argument af met <Return>. 731 732>> Plaats de cursor op de lege regel twee regels onder deze regel. 733 Tik dan M-x repl s<Return>gewijzigd<Return>veranderd<Return>. 734 735 Zie hoe deze regel daardoor gewijzigd is. Je hebt elk voorkomen 736 van het woord g-e-w-i-j-z-i-g-d vervangen door "veranderd", te 737 beginnen op de plek waar de cursor stond. 738 739 740* AUTOMATISCH BEWAREN 741--------------------- 742 743Als je een bestand veranderd hebt maar je hebt het nog niet opgeslagen, 744zouden de veranderingen verloren kunnen gaan als het systeem zou 745hangen of herstarten. Om je hiertegen te beschermen, slaat Emacs 746regelmatig de veranderde tekst automatisch op. De naam van het 747bestand waarin de tekst automatisch wordt opgeslagen begint en eindigt 748met een #. Bijvoorbeeld, als je het bestand "hello.c" aan het 749bewerken bent, wordt de tekst automatisch opgeslagen in een bestand 750dat "#hello.c#" heet. Zodra je het bestand werkelijk opslaat, wordt 751het automatisch opgeslagen bestand verwijderd. 752 753Als de computer crasht, kan je de automatisch opgeslagen tekst 754terugkrijgen door het bestand gewoon te bezoeken (het originele 755bestand, niet het automatisch opgeslagen), gevolgd door M-x 756recover-file<Return>. Als Emacs vraagt om bevestiging, antwoord dan 757met yes<Return> en de automatisch opgeslagen informatie wordt 758teruggehaald. 759 760 761* ECHO-GEBIED 762------------- 763 764Als je een commando dat uit meerdere tekens bestaat langzaam intikt, 765toont Emacs de tekens onderin het scherm in een deel dat het 766"echo-gebied" genoemd wordt. Dit gebied omvat de onderste regel van 767het scherm. 768 769 770* MODUS-REGEL 771------------- 772 773De regel direct boven het echo-gebied heet de "modusregel". De 774modusregel ziet er ongeveer zo uit: 775 776-1:** TUTORIAL.nl 63% L776 (Fundamental)----------------------- 777 778Deze regel geeft nuttige informatie over Emacs en de tekst die je aan 779het bewerken bent. 780 781Je weet al wat de bestandsnaam betekent: het is de naam van het 782bestand dat je bezoekt. NN% geeft je huidige positie in de tekst aan: 783NN procent van de tekst bevindt zich boven het scherm. Als het 784bestand vanaf het begin op het scherm staat, staat er "Top" in plaats 785van " 0%". Als het laatste stuk tekst op het scherm staat, zal er 786"Bot" staan (van "bottom", "onderkant" in het Nederlands). Als de 787tekst zo klein is dat hij volledig op het scherm past staat "All" in 788de modus-regel. 789 790De L gevolgd door een getal geeft het regelnummer aan waar punt zich 791bevindt. 792 793De sterretjes aan het begin betekenen dat je de tekst veranderd hebt. 794Direct na het bezoeken of opslaan staan er gewoon streepjes. 795 796In de modusregel staat tussen haakjes in welke modus je aan het werken 797bent. De standaardmodus is de "Fundamental" modus, die je nu gebruikt 798("fundamental" is "basis" in het Nederlands). Een dergelijke modus 799heet een hoofdmodus ("major mode" in het Engels). 800 801Emacs heeft verschillende hoofdmodi. Sommige daarvan zijn bedoeld 802voor het bewerken van verschillende talen of soorten tekst, zoals 803bijvoorbeeld Lisp-modus, Text-modus, etc. Op elk moment is er altijd 804precies één modus actief, en de naam daarvan staat in de modusregel, 805op de plaats waar nu "Fundamental" staat. 806 807Elke hoofdmodus zorgt ervoor dat sommige commando's zich anders 808gedragen. Zo bestaat er een commando om een commentaar in een 809programma te tikken, en aangezien elke programmeertaal een ander idee 810heeft over hoe commentaar eruit moet zien, moet elke hoofdmodus op een 811andere manier het commentaar beginnen. Elke hoofdmodus is de naam van 812een uitgebreid commando, en met dat commando schakel je om naar die 813hoofdmodus. Zo is bijvoorbeeld M-x fundamental-mode het commando om 814naar de basismodus om te schakelen. 815 816Als je Nederlandse of Engelse tekst gaat bewerken, zoals bijvoorbeeld 817dit bestand, kan je beter "Text mode" gebruiken, de modus om tekst in 818een gewone taal te bewerken: 819 820>> Tik M-x text-mode <Return>. 821 822Wees gerust; geen van de commando's die je geleerd hebt gaan zich nu 823echt anders gedragen. Een van de dingen die je kan merken, is 824bijvoorbeeld dat M-f en M-b nu apostrofs als onderdeel van een woord 825beschouwen. In de vorige modus (Fundamental) behandelen M-f en M-b de 826apostrof als ruimte tussen twee woorden. 827 828Het is gebruikelijk dat hoofdmodi dergelijke subtiele verschillen 829hebben. De meeste commando's doen dus min of meer hetzelfde in elke 830hoofdmodus. 831 832Met het commando C-h m kan je de documentatie over de huidige 833hoofdmodus lezen. 834 835>> Gebruik C-l C-l om deze regel bovenin het scherm te krijgen. 836>> Tik C-h m om te zien hoe de tekstmodus verschilt van de basismodus. 837>> Tik C-x 1 om de documentatie van het scherm te verwijderen. 838 839Hoofdmodi heten zo omdat er ook bijmodi zijn. Bijmodi zijn geen 840alternatieven voor hoofdmodi; het zijn slechts kleine aanpassingen 841daarvan. Elke bijmodus kan aan- of uitgezet worden, onafhankelijk van 842andere bijmodi en onafhankelijk van de hoofdmodus. Het is dus 843mogelijk geen bijmodi, één bijmodus of een willekeurige combinatie van 844bijmodi te gebruiken. 845 846Een nuttige bijmodus voor het bewerken van tekst in een natuurlijke 847taal, zoals het Nederlands, is Auto Fill modus ("auto fill" betekent 848automatisch uitvullen). Wanneer deze modus aanstaat, breekt Emacs 849automatisch een regel tussen twee woorden af als de regel te lang 850wordt. 851 852Je kan Auto Fill modus aanzetten met M-x auto-fill-mode <Return>. Als 853deze modus al aanstaat, kan je hem uitzetten met 854M-x auto-fill-mode <Return>. Als de modus uitstaat, zet dit commando 855de modus aan; als ze aanstaat, zet dit commando de modus uit. We 856zeggen dat het commando de modus "schakelt" ("to toggle" in het 857Engels). 858 859>> Tik nu M-x auto-fill-mode<Return>. Tik nu vele malen "asdf " op 860 een regel totdat je ziet dat de regel in tweeën gesplitst wordt. 861 Er moeten wel spaties tussen de woorden staan, omdat de Auto Fill 862 modus de regel alleen op spaties breekt. 863 864De rechterkantlijn staat meestal op 70 tekens, maar die kan je 865veranderen met het C-x f commando. Dit commando accepteert de 866gewenste kantlijn als numeriek argument. 867 868>> Tik C-x f met 20 als argument (C-u 20 C-x f). 869 Tik wat tekst en zie dat Emacs de regels afbreekt bij 20 tekens. 870 Zet de kantlijn nu terug op 70, met C-u 70 C-x f. 871 872Als je de tekst midden in een regel verandert, vult Auto Fill modus de 873regel niet opnieuw. 874Om een alinea opnieuw te vullen, tik M-q (META-q) terwijl de cursor in 875de alinea staat. 876 877>> Plaats de cursor in de voorgaande alinea en tik M-q. 878 879 880* ZOEKEN 881-------- 882 883Emacs kan tekenreeksen ("strings") zoeken, zowel volgend op de 884cursorpositie, als eraan voorafgaand. Het zoeken naar een string 885verplaatst de cursor naar de volgende plaats waar de gezochte string 886voorkomt. 887 888Het zoekcommando van Emacs zoekt incrementeel. Dit betekent dat het 889zoeken gebeurt tijdens het intikken van de gezochte string. 890 891Het commando om het voorwaarts zoeken te starten is C-s (met de "s" 892van "to search", zoeken); C-r start het achterwaarts zoeken (met de 893"r" van "reverse" of achteruit). WACHT! Probeer ze nu nog niet. 894 895Als je C-s tikt verschijnt de string "I-search" in het echo-gebied. 896Dit betekent dat Emacs bezig is met een "incremental search" 897(incrementele zoekopdracht) en wacht op het intikken van de 898zoekstring. <Return> beëindigt het zoeken. 899 900>> Tik nu C-s om het zoeken te starten. Tik nu, LANGZAAM, één letter 901 per keer, het woord "cursor", met een pauze na elke letter zodat je 902 kan zien wat er met de cursor gebeurt. Je hebt nu eenmaal naar het 903 woord "cursor" gezocht. 904>> Tik nogmaals C-s, om naar het volgende voorkomen van het woord 905 "cursor" te zoeken. 906>> Tik nu viermaal <Del> en let op de cursorbewegingen. 907>> Tik <Return> om het zoeken te beëindigen. 908 909Zag je wat er gebeurde? Tijdens incrementeel zoeken probeert Emacs 910naar de eerste plek te gaan waar de string staat die je tot dan toe 911getikt hebt. Om naar de volgende plek te gaan, tik je C-s nog een 912keer. Als er geen volgende plek is gevonden, biept Emacs en vertelt 913je dat de zoekopdracht niets gevonden heeft ("failing" in het Engels). 914C-g zou het zoeken ook afbreken. 915 916Als je tijdens incrementeel zoeken <DEL> tikt, dan gaat het zoeken 917terug naar de vorige plek. Als je <DEL> tikt nadat je C-s hebt getikt 918om naar een volgende plaats te gaan waar de zoekstring voorkomt, zal 919<DEL> de cursor terug laten gaan naar de vorige plaats. Als er geen 920vorige plaats is verwijdert <DEL> het laatste karakter van de 921zoekstring. Als je bijvoorbeeld begint met zoeken en je tikt een "c", 922dan ga je naar de plaats waar de "c" het eerst voorkomt. Tik je 923vervolgens een "u", dan gaat de cursor naar de eerstvolgende plaats 924waar de string "cu" het eerst voorkomt. Tik nu <DEL> en de "u" wordt 925van de zoekstring afgehaald en de cursor gaat terug naar de plaats 926waar "c" het eerst voorkwam. 927 928Als je tijdens een zoekoperatie een CONTROL- of META-teken intikt, dan 929wordt het zoeken beëindigd. Er zijn een paar uitzonderingen, namelijk 930tekens die tijdens zoeken een speciale betekenis hebben, zoals C-s en 931C-r. 932 933Met C-s begin je te zoeken naar de plaats waar de zoekstring voor het 934eerst voorkomt NA de huidige cursorpositie. Als je iets wilt zoeken 935dat eerder in de tekst moet voorkomen, gebruik dan C-r. Alles wat we 936nu weten over C-s geldt ook voor C-r, alleen is de zoekrichting 937omgedraaid. 938 939 940* MEERDERE VENSTERS 941------------------- 942 943Een van Emacs' aardige eigenschappen is dat je meerdere vensters op 944het scherm kan laten zien. (Merk op dat wat Emacs "frames" noemt in 945andere systemen "vensters" genoemd wordt. Zie de Woordenlijst van 946Emacs-termen (Glossary of Emacs terms) in de Emacs-handleiding.) 947 948>> Zet de cursor op deze regel en tik C-l C-l. 949 950>> Tik C-x 2 om het scherm in twee vensters op te splitsen. 951 Beide vensters laten deze inleiding zien; de cursor blijft in het 952 bovenste venster. 953 954>> Tik C-M-v om de tekst in het onderste venster te verschuiven. 955 (Als je geen META-toets hebt, tik dan <ESC> C-v.) 956 957>> Tik C-x o (met de o van "other"; "ander" in het Nederlands) om de 958 cursor naar het andere venster te verplaatsen. 959>> Verschuif de tekst in het onderste venster, met C-v en M-v. 960 Deze inleiding kan je blijven lezen in het bovenste venster. 961 962>> Tik weer C-x o om de cursor weer in het bovenste venster te zetten. 963 De cursor staat weer precies op de plaats waar hij stond toen je 964 het venster verliet. 965 966Je kan C-x o blijven gebruiken om van venster naar venster te gaan. 967Het "geselecteerde venster" ("selected windows" in het Engels), waar 968de meeste bewerkingen plaatsvinden, is die met die vette cursor die 969knippert als je niet aan het tikken bent. De andere vensters hebben 970hun eigen cursorposities. Als je Emacs gebruikt op een grafisch 971scherm, dan zijn de cursors in die andere venters niet-gevulde 972rechthoekjes die niet knipperen. 973 974Het C-M-v commando is erg nuttig wanneer je tekst aan het bewerken 975bent in het ene venster, terwijl je het andere venster als referentie 976gebruikt. Je kan de cursor dan altijd in het venster houden waarin je 977bezig bent, terwijl je met C-M-v door de tekst in het andere venster 978loopt. 979 980C-M-v is een voorbeeld van een CONTROL-META teken. Als je een 981META-toets (of Alt-toets) hebt kan je C-M-v intikken door zowel 982CONTROL als META ingedrukt te houden terwijl je v tikt. Het maakt 983niet uit in welke volgorde je CONTROL en META indrukt; het gaat erom 984welke toetsen ingedrukt zijn terwijl je tikt. 985 986Als je geen echte META-toets hebt kan je <ESC> gebruiken; de volgorde 987is dan wel belangrijk. Je moet dan eerst <ESC> tikken, gevolgd door 988CONTROL-v; CONTROL-<ESC> v zal niet werken. Dit komt doordat <ESC> 989zelf een teken is, terwijl CONTROL en META dat niet zijn: dat zijn 990"modifiers" (Engels). 991 992>> Tik C-x 1 (in het bovenste venster) om het onderste venster te 993 laten verdwijnen. 994 995(Als je C-x 1 tikt in het onderste venster laat je het bovenste 996verdwijnen. C-x 1 betekent zoveel als "ik wil maar 1 venster, 997en wel het venster waar ik nu ben.") 998 999Je hoeft niet dezelfde buffer in beide vensters te hebben. Wanneer je 1000C-x C-f gebruikt om een bestand in één van de vensters te bezoeken, 1001verandert het andere venster niet. Je kunt de vensters onafhankelijk 1002van elkaar gebruiken om bestanden te bezoeken. 1003 1004Hier is nog een manier om twee venster te krijgen die elk een andere 1005tekst laten zien: 1006 1007>> Tik C-x 4 C-f gevolgd door de naam van een van je bestanden, 1008 gevolgd door <Return>. Het opgegeven bestand zal in het onderste 1009 venster verschijnen, en de cursor zal in dat venster staan. 1010 1011>> Tik C-x o om terug naar het bovenste venster te gaan, en C-x 1 om 1012 het onderste venster te laten verdwijnen. 1013 1014 1015* MEERDERE FRAMES 1016----------------- 1017 1018Emacs kan meerdere zogeheten frames maken. Een frame bestaat uit 1019vensters, menu's, scrollbalken, echo-gebied, etc. Op grafische 1020schermen is een Emacs-frame wat andere applicaties meestal een venter 1021(of een "window" in het Engels, vgl. Windows) noemen. Meerdere 1022grafische frames kunnen tegelijk op het scherm getoond worden. Een 1023tekstterminal kan maar één frame tegelijkertijd tonen. 1024 1025>> Tik M-x make-frame <Return>. 1026 Een nieuw frame verschijnt op het scherm. 1027 1028In het nieuwe frame kan je alles doen wat je ook in het eerste frame 1029kon doen. Het eerste frame is niet speciaal. 1030 1031>> Tik M-x delete-frame <Return>. 1032 Het actieve frame verdwijnt. 1033 1034Je kan een frame ook laten verdwijnen op de manier die gebruikelijk is 1035voor het grafische systeem dat je gebruikt, vaak door de button te 1036klikken in een van de bovenhoek van het frame die gemarkeerd is met 1037een "X". Als je Emacs' laatste frame op deze manier laat verdwijnen, 1038dan sluit je Emacs af. 1039 1040 1041* RECURSIEVE BEWERKINGSNIVEAUS 1042------------------------------ 1043 1044Soms kom je in Emacs in een recursief bewerkingsniveau terecht 1045(Engels: "recursive editing level"). Dit is te zien in de modusregel 1046aan de vierkante haken die om de haakjes van de naam van de hoofdmodus 1047staan. Dan staat er bijvoorbeeld [(Fundamental)] in plaats van 1048(Fundamental). 1049 1050Tik <ESC> <ESC> <ESC> om uit een recursief bewerkingsniveau te komen. 1051Dit is een algemeen "ontsnappingscommando". Je kan het ook gebruiken 1052om extra vensters te verwijderen of om uit de minibuffer te komen. 1053 1054>> Tik M-x om in een minibuffer te komen; tik dan <ESC> <ESC> <ESC> 1055 om er weer uit te komen. 1056 1057C-g is niet bruikbaar om uit een recursief bewerkingsniveau te komen. 1058De reden hiervoor is dat C-g gebruikt wordt om commando's af te breken 1059BINNEN het recursieve bewerkingsniveau. 1060 1061 1062* MEER INFORMATIE 1063----------------- 1064 1065We hebben geprobeerd je met deze inleiding precies genoeg informatie 1066te leveren om met Emacs te beginnen werken. De mogelijkheden van 1067Emacs zijn zo groot dat het onmogelijk is nu alles uit te leggen. Het 1068kan zijn dat je meer over Emacs wil leren omdat het zoveel nuttige 1069mogelijkheden heeft. Emacs heeft commando's om documentatie te lezen 1070over Emacs commando's. Deze "helpcommando's" beginnen allemaal met 1071C-h: "het Hulpteken". 1072 1073Om hulp te krijgen tik je C-h, gevolgd door een teken om aan te duiden 1074welke hulp je wilt. Als je het echt niet meer weet, tik C-h ? en 1075Emacs vertelt welke hulp het allemaal te bieden heeft. Als je C-h 1076hebt getikt maar van gedachten veranderd bent, tik je gewoon C-g om 1077het af te breken. 1078 1079(Als C-h niet een bericht onderaan het scherm laat zien over mogelijke 1080hulp, probeer dan functietoets F1 of gebruik M-x help <Return>.) 1081 1082De eenvoudigste hulp is C-h c. Tik C-h, het teken "c" en een teken of 1083uitgebreid commando, en Emacs laat een zeer korte beschrijving van het 1084commando zien. 1085 1086>> Tik C-h c C-p. 1087 1088De beschrijving die getoond wordt, zou zoiets moeten zijn als: 1089 1090 C-p runs the command previous-line 1091 1092 (Nederlands: C-p voert het commando previous-line uit.) 1093 1094Dit commando vertelt je "de naam van de functie". Aangezien 1095functienamen gekozen zijn om aan te geven wat de functie doet, zijn ze 1096ook geschikt als heel korte documentatie; genoeg om je te herinneren 1097aan wat de commando's die je al geleerd hebt betekenen. 1098 1099Uitgebreide commando's zoals C-x C-s en (als je geen META-, EDIT- of 1100ALT-toets hebt) <ESC>v kunnen ook getikt worden na C-h c. 1101 1102Om meer informatie over een commando te krijgen, tik C-h k in plaats 1103van C-h c. 1104 1105>> Tik C-h k C-p. 1106 1107Dit laat de documentatie van de functie, inclusief de naam van de 1108functie, in een apart venster zien. Als je klaar bent met lezen, tik 1109C-x 1 om van dat venster af te komen. Je hoeft dat natuurlijk niet 1110meteen te doen. Je kan ook eerst wat tekst bewerken (en de helptekst 1111lezen) voordat je C-x 1 tikt. 1112 1113Hier zijn nog wat nuttige mogelijkheden van C-h: 1114 1115 C-h f Beschrijf een functie. Je moet de naam van de functie 1116 intikken. 1117 1118>> Tik C-h f previous-line <Return> 1119 Dit laat alle informatie zien die Emacs heeft over de functie die 1120 het C-p commando implementeert. 1121 1122Een vergelijkbaar commando C-h v toont de documentatie van variabelen 1123die je kunt instellen om het gedrag van Emacs naar wens aan te passen. 1124Het commando vraagt je om de naam van een variabele. 1125 1126 C-h a Commando Apropos. Tik een woord in en Emacs zal een 1127 lijst van alle commando's laten zien waarin dat woord 1128 voorkomt. Al deze commando's kunnen aangeroepen 1129 worden met M-x. Bij sommige commando's staat met 1130 welke tekens dit commando direct uitgevoerd kan 1131 worden. 1132 1133>> Tik C-h a file <Return>. 1134 1135Dit laat in een ander venster alle M-x commando's zien met "file" in 1136hun naam. Je zal teken-commando's zien als C-x C-f naast de 1137overeenkomende commandonaam zoals find-file. 1138 1139>> Tik C-M-v herhaaldelijk om de tekst in het hulpvenster te 1140 scrollen. 1141 1142>> Tik C-x 1 om het hulpvenster te verwijderen. 1143 1144 C-h i Lees de handleidingen (ook wel Info genoemd). 1145 Dit commando zet je in een speciale buffer genaamd 1146 "*info*" waar je handleidingen kunt lezen van 1147 software die op je computer is geïnstalleerd. 1148 Tik m Emacs <Return> om de handleiding van Emacs te 1149 lezen. Als je nog nooit Info hebt gebruikt dan kun je 1150 ? tikken zodat Emacs je een rondleiding geeft langs de 1151 mogelijkheden van het Info systeem. Wanneer je klaar 1152 bent met deze Emacs-inleiding dan kun je de 1153 Emacs-Info-handleiding gebruiken als je primaire bron 1154 van informatie. 1155 1156 1157* MEER MOGELIJKHEDEN 1158-------------------- 1159 1160Je kunt meer over Emacs leren door haar handleiding te lezen. Deze is 1161zowel als boek als in in Emacs beschikbaar (gebruik het Help menu of 1162tik C-h r). Kijk bijvoorbeeld eens naar "completion", wat minder 1163tikwerk oplevert, of "dired" wat het omgaan met bestanden 1164vereenvoudigt. 1165 1166"Completion" ("afmaken" in het Nederlands) is een manier om onnodig 1167tikwerk te voorkomen. Als je bijvoorbeeld naar de "*Messages*" buffer 1168wilt omschakelen, dan kun je C-x b *M<Tab> tikken en dan zal Emacs de 1169rest van de buffernaam invullen voor zover dit mogelijk is gegeven wat 1170je al getikt had. Completion staat beschreven in de node "Completion" 1171in de Emacs-Info-handleiding. 1172 1173"Dired" toont je een lijst van bestanden in een directory (en als je 1174wilt ook subdirectories), waarmee je gemakkelijk bestanden kunt 1175bezoeken, van naam kunt veranderen, kunt wissen, of andere acties op 1176uit kunt voeren. Informatie over Dired kun je vinden in de node 1177"Dired" van de Emacs-Info-handleiding. 1178 1179De handleiding beschrijft ook vele andere Emacs-features. 1180 1181 1182* CONCLUSIE 1183----------- 1184 1185Denk eraan dat je Emacs verlaat met C-x C-c. 1186 1187De bedoeling van deze inleiding is dat ze begrijpelijk is voor alle 1188nieuwe Emacs-gebruikers. Als je dus iets onduidelijks bent 1189tegengekomen, blijf dan niet zitten en maak jezelf geen verwijten. 1190Doe je beklag! 1191 1192 1193* KOPIËREN 1194----------- 1195 1196(De Engelse versie van) deze inleiding is voorafgegaan door een lange 1197reeks van Emacs-inleidingen, die begon met de inleiding die Stuart 1198Cracraft schreef voor de originele Emacs. Deze Nederlandse vertaling 1199is gemaakt door Pieter Schoenmakers <tiggr@tiggr.net> met 1200verbeteringen en correcties door Frederik Fouvry en Lute Kamstra. 1201 1202(Wat nu volgt is een vertaling naar het Nederlands van de condities 1203voor gebruik en verspreiding van deze inleiding. Deze vertaling is 1204niet gecontroleerd door een jurist. Er kunnen derhalve geen rechten 1205aan de vertaling worden ontleend. Na de vertaling volgt het Engelse 1206origineel.) 1207 1208Deze versie van de inleiding is onderdeel van GNU Emacs. Het valt 1209onder copyright. Je mag deze inleiding verspreiden onder bepaalde 1210voorwaarden: 1211 1212 Copyright (C) 1985, 1996, 1998, 2001-2021 Free Software Foundation, 1213 Inc. 1214 1215 Dit bestand is onderdeel van GNU Emacs. 1216 1217 GNU Emacs is vrije software: iedereen mag het verspreiden en/of 1218 modificeren onder de voorwaarden van de GNU General Public License 1219 ("algemene publieke licentie") zoals die gepubliceerd wordt door de 1220 Free Software Foundation, versie 3 of, zo je wilt, een latere 1221 versie. 1222 1223 GNU Emacs wordt verspreid met de bedoeling dat het nuttig zal zijn, 1224 maar ZONDER ENIGE GARANTIE; zonder zelfs de impliciete garantie van 1225 verkoopbaarheid of geschiktheid voor een specifiek doel. De GNU 1226 General Public License bevat meer informatie. 1227 1228 Je zou de GNU General Public License moeten hebben ontvangen als 1229 onderdeel van GNU Emacs. Als dat niet het geval is, ga naar 1230 www.gnu.org/licenses. 1231 1232Lees het bestand COPYING en geef daarna kopieën van Emacs aan al je 1233vrienden. Help bij het uitroeien van softwarebeschermingspolitiek 1234("eigendom") door vrije software te gebruiken, te schrijven en te 1235delen! 1236 1237Engels origineel van de copyrightmelding en condities: 1238 1239This version of the tutorial is a part of GNU Emacs. It is copyrighted 1240and comes with permission to distribute copies on certain conditions: 1241 1242 Copyright (C) 1985, 1996, 1998, 2001-2021 Free Software Foundation, Inc. 1243 1244 This file is part of GNU Emacs. 1245 1246 GNU Emacs is free software: you can redistribute it and/or modify 1247 it under the terms of the GNU General Public License as published by 1248 the Free Software Foundation, either version 3 of the License, or 1249 (at your option) any later version. 1250 1251 GNU Emacs is distributed in the hope that it will be useful, 1252 but WITHOUT ANY WARRANTY; without even the implied warranty of 1253 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1254 GNU General Public License for more details. 1255 1256 You should have received a copy of the GNU General Public License 1257 along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. 1258 1259Please read the file COPYING and then do give copies of GNU Emacs to 1260your friends. Help stamp out software obstructionism ("ownership") by 1261using, writing, and sharing free software! 1262 1263;;; Local Variables: 1264;;; coding: utf-8 1265;;; End: 1266