1 ========================================================================== 2 = W e l k o m b i j d e V I M l e s s e n - Versie 1.7 = 3 ========================================================================== 4 5 Vim is een krachtige editor met veel commando's, te veel om uit te leggen 6 in lessen zoals deze. Deze lessen zijn bedoeld om voldoende commando's te 7 behandelen om je in staat te stellen met Vim te werken als een editor voor 8 algemeen gebruik. 9 10 Deze lessen zullen 25 tot 30 minuten in beslag nemen, afhankelijk van de 11 tijd die wordt besteed aan het uitproberen van de commando's. 12 13 LET OP: 14 Door de commando's in deze lessen verandert de tekst. Maak een kopie van 15 dit bestand om mee te oefenen (als je "vimtutor" uitvoerde, is dit al een 16 kopie). 17 18 Deze lessen zijn bedoeld om al doende te leren. Dat betekent dat je de 19 commando's moet uitvoeren om ze goed te leren kennen. Als je de tekst 20 alleen maar doorleest, zal je de commando's niet leren! 21 22 Zorg ervoor dat de <Caps Lock> toets NIET is ingedrukt en druk vaak genoeg 23 op de j-toets om de cursor zo te bewegen dat les 1.1 volledig op het 24 scherm staat. 25 26 LET OP: In deze lessen worden omwille van de duidelijkheid vaak spaties 27 gebruikt binnen een commando (bv. "40 G" of "operator [getal] beweging"). 28 Tik deze spaties echter NIET. Ze verstoren de werking. 29 30~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 Les 1.1: VERPLAATS DE CURSOR 32 33 ** De cursor wordt verplaatst met de toetsen h, j, k, l zoals aangegeven. ** 34 ^ 35 k Hint: De h is de meest linkse en beweegt naar links. 36 < h l > De l is de meest rechtse en beweegt naar rechts. 37 j De j lijkt op een pijl naar beneden. 38 v 39 40 1. Beweeg de cursor over het scherm om er vertrouwd mee te raken. 41 42 2. Druk de omlaag-toets (j) tot hij repeteert. 43 Nu weet je hoe je de volgende les bereikt. 44 45 3. Gebruik de omlaag-toets om naar les 1.2 te gaan. 46 47 OPMERKING: Als je twijfelt aan wat je tikte, druk <ESC> om in de opdracht- 48 modus te komen. Tik daarna het commando dat bedoeld wordt. 49 50 OPMERKING: Pijltjes-toetsen werken ook. Met de hjkl-toetsen kan je sneller 51 rondbewegen, als je er eenmaal aan gewend bent. Echt waar! 52 53~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 54 Les 1.2: VIM AFSLUITEN 55 56 !! LET OP: Lees deze les goed door voordat je iets uitvoert!! 57 58 1. Druk de <ESC> toets (om zeker in de opdrachtmodus te zitten). 59 60 2. Tik :q! <ENTER> 61 Hiermee wordt de editor afgesloten. Alle veranderingen gaan VERLOREN. 62 63 3. Nu zie je de shell-prompt. Tik het commando waarmee je deze lessen 64 hebt opgeroepen. Dat is normaal gesproken: vimtutor <ENTER> 65 66 4. Als je deze stappen goed hebt doorgelezen, voer dan de stappen 1 tot 3 67 uit om de editor te verlaten en weer op te starten. 68 69 LET OP: :q! <ENTER> verwerpt alle veranderingen die je aanbracht. Een paar 70 lessen verder zal je leren hoe veranderingen worden opgeslagen in 71 een bestand. 72 73 5. Beweeg de cursor omlaag naar les 1.3. 74 75~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 76 Les 1.3: TEKST BEWERKEN - WISSEN 77 78 ** Tik x om het teken onder de cursor te wissen. ** 79 80 1. Ga met de cursor naar de regel verderop met --->. 81 82 2. Zet de cursor op een teken dat moet worden gewist om een fout te 83 herstellen. 84 85 3. Tik x om het ongewenste teken te wissen. 86 87 4. Herhaal deze stappen tot de regel goed is. 88 89 ---> Vi kkent eenn opdracccchtmodus en een invooegmmmmodus. 90 91 5. Nu de regel gecorrigeerd is kan je naar les 1.4 gaan. 92 93 LET OP: Probeer de lessen niet uit je hoofd te leren. Leer al doende. 94 95~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 Les 1.4: TEKST BEWERKEN - INVOEGEN 97 98 ** Tik i ('insert') om tekst in te voegen. ** 99 100 1. Ga met de cursor naar de eerste regel verderop met --->. 101 102 2. Maak de eerste regel gelijk aan de tweede. Zet daarvoor de cursor op 103 het karakter waarvoor tekst moet worden ingevoegd. 104 105 3. Tik i en daarna de nodige aanvullingen. 106 107 4. Tik <ESC> na elke herstelde fout om terug te keren in de opdrachtmodus. 108 Herhaal de stappen 2 tot 4 om de zin te verbeteren. 109 110 ---> Aan regel ontekt wat . 111 ---> Aan deze regel ontbreekt wat tekst. 112 113 5. Ga naar les 1.5 als je gewend bent aan het invoegen van tekst. 114 115~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 Les 1.5: TEKST BEWERKEN - TOEVOEGEN 117 118 ** Tik A ('append') om tekst toe te voegen. ** 119 120 1. Ga met de cursor naar de eerste regel verderop met --->. 121 Het maakt niet uit waar de cursor in deze regel staat. 122 123 2. Tik hoofdletter A en tik de nodige aanvullingen. 124 125 3. Tik <ESC> nadat de tekst is aangevuld. Zo keer je terug in de 126 opdrachtmodus. 127 128 4. Ga naar de tweede regel verderop met ---> en herhaal stap 2 en 3 129 om deze zin te corrigeren. 130 131 ---> Er ontbreekt wat tekst aan de 132 Er ontbreekt wat tekst aan deze regel. 133 ---> Hier ontbreekt ook w 134 Hier ontbreekt ook wat tekst. 135 136 5. Ga naar les 1.6 als je vertrouwd bent geraakt aan het toevoegen 137 van tekst. 138 139~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 Les 1.6: EEN BESTAND EDITTEN 141 142 ** Gebruik :wq om een bestand op te slaan en de editor te verlaten. ** 143 144 !! LET OP: Lees deze les helemaal door voordat je een van de volgende 145 stappen uitvoert!! 146 147 1. Verlaat deze les zoals je in les 1.2 deed: :q! 148 Of gebruik een andere terminal als je daar de beschikking over hebt. Doe 149 daar het volgende. 150 151 2. Tik het volgende commando na de shell-prompt: vim les <ENTER> 152 'vim' (vaak ook 'vi') is het commando om de Vim-editor te starten, 153 'les' is de naam van het bestand, dat je gaat bewerken. Kies een andere 154 naam als er al een bestand 'les' bestaat, dat niet veranderd mag worden. 155 156 3. Voeg naar eigen keus tekst toe, zoals je geleerd hebt in eerdere lessen. 157 158 4. Sla het bestand met de wijzigingen op en verlaat Vim met :wq <ENTER> 159 160 5. Herstart vimtutor als je deze bij stap 1 hebt verlaten en ga verder met 161 de volgende samenvatting. 162 163 6. Voer deze stappen uit nadat je ze hebt gelezen en begrepen. 164 165~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 166 SAMENVATTING Les 1 167 168 1. De cursor wordt bewogen met de pijltjestoetsen of de hjkl-toetsen. 169 h (links) j (omlaag) k (omhoog) l (rechts) 170 171 2. Start Vim van de shell-prompt. Tik: vim BESTANDSNAAM <ENTER> 172 173 3. Sluit Vim af met <ESC> :q! <ENTER> om de veranderingen weg te gooien. 174 OF tik <ESC> :wq <ENTER> om de veranderingen te bewaren. 175 176 4. Wis het teken onder de cursor met: x 177 178 5. Invoegen of toevoegen van tekst, tik: 179 i en daarna de in te voegen tekst <ESC> voeg in vanaf de cursor 180 A en daarna de toe te voegen tekst <ESC> voeg toe achter de regel 181 182 OPMERKING: Met <ESC> kom je terug in opdrachtmodus en wordt een ongewenst 183 of gedeeltelijk uitgevoerd commando afgebroken. 184 185 Ga nu verder met les 2.1. 186 187~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 Les 2.1: WIS-COMMANDO'S 189 190 ** Tik dw ('delete word') om een woord te wissen. ** 191 192 1. Druk op <ESC> om zeker in de opdrachtmodus te zijn. 193 194 2. Ga naar de regel hieronder, die met ---> begint. 195 196 3. Ga met de cursor naar het begin van een woord dat moet worden gewist. 197 198 4. Met het tikken van dw verdwijnt het woord. 199 200 OPMERKING: De letter d verschijnt op de laatste regel van het scherm 201 zodra je hem tikt. Vim is aan het wachten tot je de w tikt. 202 Als je een ander teken dan d ziet, heb je iets verkeerds 203 getikt. Druk op <ESC> en begin opnieuw. 204 205 NOG EEN OPMERKING: Dit werkt alleen als de optie 'showcmd' is ingeschakeld. 206 Dat gebeurt met :set showcmd <ENTER> 207 208 ---> Er zijn een het paar ggg woorden, die niet in deze len zin thuishoren. 209 210 5. Herhaal de stappen 3 en 4 tot de zin goed is en ga naar les 2.2. 211 212~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213 Les 2.2: MEER WIS-COMMANDO'S 214 215 ** Tik d$ om te wissen tot het einde van de regel. ** 216 217 1. Druk op <ESC> om zeker in de opdrachtmodus te zijn. 218 219 2. Ga naar de regel hieronder, die met ---> begint. 220 221 3. Ga met de cursor naar het einde van de correcte regel (NA de eerste . ). 222 223 4. Tik d$ om te wissen tot het einde van de regel. 224 225 ---> Iemand heeft het einde van deze regel dubbel getikt. dubbel getikt. 226 227 5. Ga naar les 2.3 voor uitleg. 228 229~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 230 Les 2.3: OVER OPERATOREN EN BEWEGINGEN 231 232 Veel commando's die de tekst veranderen, bestaan uit een operator en een 233 beweging. De samenstelling van een wis-commando met de operator d is: 234 d beweging 235 236 Daarbij is: 237 d - de wis-operator 238 beweging - het bereik waarop de operator werkt (zie het lijstje hieronder) 239 240 Een korte lijst van bewegingen vanaf de cursor: 241 w - tot het begin van het volgende woord, ZONDER het eerste teken daarvan. 242 e - tot het einde van het huidige woord, INCLUSIEF het laatste teken. 243 $ - tot het einde van de regel, INCLUSIEF het laatste teken. 244 245 Het tikken van de wist tekst vanaf de cursor tot het eind van het woord. 246 247 OPMERKING: Het intikken van alleen maar de beweging, zonder een operator, 248 in de opdrachtmodus beweegt de cursor (respectievelijk naar het 249 volgende woord, naar het eind van het huidige woord en naar het 250 eind van de regel). 251 252~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 Les 2.4: GEBRUIK VAN EEN TELLER BIJ EEN BEWEGING 254 255 ** Een getal voor een beweging herhaalt het zoveel keer. ** 256 257 1. Ga naar de regel hieronder, die met ---> begint. 258 259 2. Tik 2w zodat de cursor twee woorden vooruit gaat. 260 261 3. Tik 3e zodat de cursor naar het einde van het derde woord gaat. 262 263 4. Tik 0 (nul) om naar het begin van de regel te gaan. 264 265 5. Herhaal de stappen 2 en 3 met andere getallen. 266 267 ---> Dit is een regel met woorden waarin je heen en weer kan bewegen. 268 269 6. Ga verder met les 2.5. 270 271~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 Les 2.5: GEBRUIK EEN TELLER OM MEER TE WISSEN 273 274 ** Een getal met een operator zorgt dat deze zoveel keer wordt herhaald. ** 275 276 Bij de combinatie van wis-operator en beweging kan je voor de beweging een 277 teller zetten om meer te wissen: 278 d [teller] beweging 279 280 1. Ga naar het eerste woord in HOOFDLETTERS in de regel na --->. 281 282 2. Met d2w worden twee woorden (in dit voorbeeld in hoofdletters) gewist. 283 284 3. Herhaal de stappen 1 en 2 met verschillende tellers om de verschillende 285 woorden in hoofdletters met ��n commando te wissen. 286 287 ---> deze ABC DE regel FGHI JK LMN OP is QZ RS ontdaan van rommel. 288 289 OPMERKING: De teller kan ook aan het begin staan: d2w en 2dw werken allebei. 290 291~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 Les 2.6: BEWERKING VAN HELE REGELS 293 294 ** Tik dd om een hele regel te wissen. ** 295 296 Omdat het wissen van een hele regel vaak voorkomt, besloten de ontwerpers 297 van Vi dat met het tikken van dd simpelweg een hele regel gewist wordt. 298 299 1. Ga met de cursor naar de tweede regel van de zinnetjes hieronder. 300 301 2. Tik dd om de regel te wissen. 302 303 3. Ga nu naar de vierde regel. 304 305 4. Tik 2dd om twee regels te wissen. 306 307 ---> 1) Rozen zijn rood. 308 ---> 2) Modder is leuk. 309 ---> 3) Viooltjes zijn blauw. 310 ---> 4) Ik heb een auto. 311 ---> 5) De klok slaat de tijd. 312 ---> 6) Suiker is zoet. 313 ---> 7) En dat ben jij ook. 314 315~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 316 Les 2.7: HET COMMANDO HERSTEL 317 318 ** u maakt het laatste commando ongedaan, U herstelt een hele regel. ** 319 320 1. Ga met de cursor naar de regel hieronder met ---> en zet hem 321 op de eerste fout. 322 323 2. Tik x om het eerste ongewenste teken te wissen. 324 325 3. Tik nu u en maak daarmee het vorige commando ongedaan. 326 327 4. Herstel nu alle fouten in de regel met het x commando. 328 329 5. Tik een hoofdletter U om de regel in z'n oorspronkelijke staat terug 330 te brengen. 331 332 6. Tik nu een paar keer u en herstel daarmee de U en eerdere commando's. 333 334 7. Tik nu een paar keer CTRL-R (Ctrl-toets ingedrukt houden en R tikken) en 335 voer daarmee de commando's opnieuw uit: 'redo' oftewel 'undo de undo's'. 336 337 ---> Heerstel de fouten inn deeze regel en brenng ze weer terugg met undo. 338 339 8. Dit zijn heel nuttige commando's. Ga verder met samenvatting van les 2. 340 341~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 342 SAMENVATTING Les 2 343 344 1. Wis van de cursor tot het volgende woord met dw 345 346 2. Wis van de cursor tot het eind van de regel met d$ 347 348 3. Wis de hele regel met dd 349 350 4. Herhaal een beweging door er een getal voor te zetten: 2w 351 352 5. De opbouw van een wijzigingscommando is: 353 operator [getal] beweging 354 daarbij is: 355 operator - wat er moet gebeuren, bijvoorbeeld d om te wissen 356 [getal] - een (niet-verplichte) teller om 'beweging' te herhalen 357 beweging - een beweging door de te wijzigen tekst zoals w (woord) 358 of $ (tot het einde van de regel) enz. 359 360 6. Ga naar het begin van de regel met nul: 0 361 362 7. Undo de voorgaande actie met u (kleine letter) 363 Undo alle veranderingen in een regel met U (hoofdletter) 364 Undo de undo's met CTRL-R 365 366~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 367 Les 3.1: HET COMMANDO PLAK 368 369 ** Tik p ('put') en plak daarmee zojuist gewiste tekst na te cursor. ** 370 371 1. Ga met de cursor naar de eerste regel met ---> hierna. 372 373 2. Wis de regel met dd en bewaar hem zodoende in een Vim-register. 374 375 3. Ga naar de c-regel, waar de gewiste regel ONDER moet komen. 376 377 4. Tik p om de regel terug te zetten onder de regel met de cursor. 378 379 5. Herhaal de stappen 2 tot 4 om de regels in de goede volgorde te zetten. 380 381---> d) Krijg je het ook onder de knie? 382---> b) Viooltjes zijn blauw, 383---> c) Begrip is te leren, 384---> a) Rozen zijn rood, 385 386~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 387 Les 3.2: HET COMMANDO VERVANG 388 389 ** Tik rx ('replace') om het teken onder de cursor te vervangen door x. ** 390 391 1. Ga naar de eerste regel hieronder met --->. 392 393 2. Zet de cursor op de eerste fout. 394 395 3. Tik r en dan het teken dat er hoort te staan. 396 397 4. Herhaal de stappen 2 en 3 tot de eerste regel gelijk is aan de tweede. 398 399 ---> Bij het tokken van dezf hegel heeft iemamd verklerde letters getikt. 400 ---> Bij het tikken van deze regel heeft iemand verkeerde letters getikt. 401 402 5. Ga nu naar les 3.3. 403 404 LET OP: Door het te doen, leer je beter dan door het uit je hoofd te leren. 405 406~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 407 Les 3.3: HET COMMANDO VERANDER 408 409 ** Tik ce om te veranderen tot het einde van een woord. ** 410 411 1. Ga met de cursor naar de eerste regel hieronder met --->. 412 413 2. Zet de cursor op de u van ruch. 414 415 3. Tik ce en de juiste letters (in dit geval "egel"). 416 417 4. Druk <ESC> en ga naar het volgende teken dat moet worden veranderd. 418 419 5. Herhaal de stappen 3 en 4 tot de eerste regel gelijk is aan de tweede. 420 421 ---> In deze ruch staan een paar weedrim die veranderd moud worden. 422 ---> In deze regel staan een paar woorden die veranderd moeten worden. 423 424 LET OP: Met ce wordt (het laatste deel van) een woord gewist en kom je 425 in de invoegmodus. 426 427~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 428 Les 3.4: MEER VERANDERINGEN MET c 429 430 1. Het commando verander ('change') werkt op dezelfde manier als wis. De 431 opbouw is: 432 c [teller] beweging 433 434 2. De bewegingen zijn hetzelfde, zoals w (woord) en $ (einde regel). 435 436 3. Ga naar de eerste regel hieronder met --->. 437 438 4. Zet de cursor op de eerste fout. 439 440 5. Tik c$ en tik de rest van de regel zodat hij gelijk wordt aan de 441 tweede en sluit af met <ESC>. 442 443 ---> Het einde van deze regel moet precies zo worden als de tweede regel. 444 ---> Het einde van deze regel moet gecorrigeerd worden met het commando c$. 445 446 OPMERKING: Je kan de toets <BACKSPACE> gebruiken om tikfouten te herstellen. 447 448~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 449 SAMENVATTING Les 3 450 451 1. Tik p om tekst terug te plakken, die zojuist is gewist. Dit zet de 452 gewiste tekst ACHTER de cursor (als een hele regel is gewist komt deze 453 op de regel ONDER de cursor. 454 455 2. Het teken waarop de cursor staat wordt vervangen met r gevolgd door 456 het teken dat je daar wilt hebben. 457 458 3. Het commando 'verander' stelt je in staat om tekst te veranderen vanaf 459 de cursor tot waar de 'beweging' je brengt. Dat wil zeggen: tik ce om 460 te veranderen vanaf de cursor tot het einde van het woord, c$ om te 461 veranderen tot het einde van de regel. 462 463 4. De opbouw van het commando verander is: 464 c [teller] beweging 465 466 Ga nu naar de volgende les. 467 468~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 469 Les 4.1: PLAATS VAN DE CURSOR EN STATUS VAN HET BESTAND 470 471 ** CTRL-G laat zien waar (regelnummer) je je bevindt en wat de status van 472 het bestand is. Met [nummer] G ga je naar een bepaalde regel. ** 473 474 LET OP: Lees de hele les voordat je een stap uitvoert!! 475 476 1. Hou de Ctrl-toets ingedrukt en tik g . Dit noemen we CTRL-G. 477 Onderaan de pagina verschijnt een boodschap met de bestandsnaam en de 478 positie in het bestand. Onthou het regelnummer voor stap 3. 479 480 OPMERKING: Als de optie 'ruler' aan staat, wordt de positie van de cursor 481 (regelnummer, kolom) steeds in de rechter-onderhoek van het 482 scherm vermeld. In dit geval vermeldt CTRL-G geen regelnummer. 483 CTRL-G geeft ook de status aan, namelijk of de tekst veranderd 484 is ('modified') sinds het de laatste keer is opgeslagen. 485 486 2. Tik hoofdletter G om naar het einde van het bestand te gaan. 487 Tik gg om naar het begin van het bestand te gaan. 488 489 3. Tik het regelnummer waar je bij stap 1 was en daarna G . Dit brengt je 490 terug naar de regel waar je was toen je de eerste keer CTRL-G tikte. 491 492 4. Voer de stappen 1 tot 3 uit als je dit goed hebt gelezen. 493 494~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 495 Les 4.2: HET COMMANDO ZOEKEN 496 497 ** Met /ZOEK wordt naar de zoekterm (��n of meer woorden) gezocht. ** 498 499 1. Tik in de opdrachtmodus het teken / . Je ziet dat het met de cursor 500 aan de onderkant van het scherm verschijnt, zoals bij het :-commando. 501 502 2. Tik nu 'ffouut' <ENTER>. Dit is het woord waarnaar gezocht wordt. 503 504 3. Tik n om verder te zoeken met dezelfde zoekterm. 505 Zoek met N met dezelfde zoekterm in de tegenovergestelde richting. 506 507 4. Zoek in achterwaartse richting met ?zoekterm in plaats van / . 508 509 5. Keer terug naar de vorige hit met CTRL-O (hou Ctrl-toets ingedrukt en 510 tik letter o). Herhaal om verder terug te gaan. CTRL-I gaat vooruit. 511 512 ---> "ffouut" is niet de juiste spelling van fout, ffouut is een fout. 513 514 OPMERKING: Als zoeken het einde van het bestand bereikt, wordt vanaf het 515 begin doorgezocht, tenzij de optie 'wrapscan' is uitgeschakeld. 516 517~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 518 Les 4.3: GA NAAR CORRESPONDERENDE HAAKJES 519 520 ** Tik % om naar corresponderende ), ] of } te gaan. ** 521 522 1. Zet de cursor op een (, [ of { in de regel hieronder met --->. 523 524 2. Tik dan het teken % . 525 526 3. De cursor gaan naar het overeenkomstige haakje. 527 528 4. Met opnieuw % gaat de cursor terug naar het eerste haakje. 529 530 5. Plaats de cursor op een ander haakje en bekijk wat % doet. 531 532 ---> Dit ( is een testregel met ('s, ['s ] en {'s } erin. )) 533 534 OPMERKING: Dit is nuttig bij het debuggen van een programma waarin haakjes 535 niet corresponderen. Met de optie 'showmatch' wordt ook 536 aangegeven of haakjes corresponderen, maar de cursor wordt niet 537 (blijvend) verplaatst. 538 539~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 540 Les 4.4: HET VERVANG COMMANDO 541 542 ** Tik :s/oud/nieuw/g om 'oud' door 'nieuw' te vervangen. ** 543 544 1. Ga met de cursor naar de regel hieronder met --->. 545 546 2. Tik :s/dee/de <ENTER>. Zoals je ziet, vervangt ('substitute') dit 547 commando alleen de eerste "dee" in de regel. 548 549 3. Tik nu :s/dee/de/g . Met de g-vlag ('global') wordt elke "dee" in de 550 regel vervangen. 551 552 ---> dee beste tijd om dee bloemen te zien is in dee lente. 553 554 4. Om in (een deel van) een tekst elk 'oud' te vervangen door 'nieuw': 555 tik :#,#s/oud/nieuw/g waar #,# de regelnummers zijn die het gebied 556 begrenzen waarin wordt vervangen. 557 tik :%s/oud/nieuw/g om alles te vervangen in het hele bestand. 558 tik :%s/oud/nieuw/gc om elke 'oud' in het hele bestand te vinden 559 en te vragen of er vervangen moet worden. 560 561~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 562 SAMENVATTING Les 4 563 564 1. CTRL-G laat positie in het bestand zien en de status van het bestand. 565 G verplaatst je naar het einde van het bestand. 566 nummer G verplaatst je naar regelnummer. 567 gg verplaatst je naar de eerste regel. 568 569 2. Met / en een zoekterm wordt VOORWAARTS gezocht naar de term. 570 Met ? en een zoekterm wordt ACHTERWAARTS gezocht naar de term. 571 Tik n na een zoekopdracht om de volgende hit te vinden, 572 of tik N om in de andere richting te zoeken. 573 CTRL-O brengt je naar eerdere hit, CTRL-I naar nieuwere. 574 575 3. Tik % terwijl de cursor op een haakje ([{}]) staat, om naar het 576 corresponderende haakje te gaan. 577 578 4. :s/oud/nieuw vervangt het eerste 'oud' in een regel door 'nieuw'. 579 :s/oud/nieuw/g vervangt elk 'oud' in een regel door 'nieuw'. 580 :#,#s/oud/nieuw/g vervangt elk 'oud' door 'nieuw' tussen de regelnummers. 581 :%s/oud/nieuw/g vervangt elk 'oud' door 'nieuw' in het hele bestand. 582 Voeg c toe (:%s/oud/nieuw/gc) om elke keer om bevestiging 583 ('confirmation') te vragen. 584 585~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 586 Les 5.1: HOE EEN EXTERN COMMANDO WORDT UITGEVOERD 587 588 ** Tik :! gevolgd door een extern commando om dat uit te voeren. ** 589 590 1. Tik het commando : waarmee de cursor op de onderste regel van het 591 scherm komt te staan. Nu kan je een opdracht geven via de commando-regel. 592 593 2. Tik een ! (uitroepteken). Dit stelt je in staat om elk shell-commando 594 uit te voeren. 595 596 3. Tik bijvoorbeeld ls na het uitroepteken en daarna <ENTER>. Hiermee 597 krijg je de inhoud van je map te zien, net alsof je de opdracht gaf 598 vanaf de shell-prompt. Probeer :!dir als het niet werkt. 599 600 OPMERKING: Elk extern commando kan op deze manier uitgevoerd worden, ook 601 met argumenten. 602 603 OPMERKING: Alle commando's na : moeten worden afgesloten met <ENTER>. 604 Vanaf nu zullen we dat niet meer altijd vermelden. 605 606~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 607 Les 5.2: MEER OVER HET OPSLAAN VAN BESTANDEN 608 609 ** Tik :w BESTANDSNAAM om de tekst m�t veranderingen op te slaan. ** 610 611 1. Tik :!dir of :!ls om de inhoud van je map te tonen. Je weet 612 inmiddels dat je daarna een <ENTER> moet tikken. 613 614 2. Kies een bestandsnaam die nog niet bestaat, bijvoorbeeld TEST. 615 616 3. Tik nu: :w TEST (als je de naam TEST hebt gekozen). 617 618 4. Hierdoor wordt het hele bestand (de VIM lessen) opgeslagen onder de 619 naam TEST. Tik weer :!dir of :!ls om dit te controleren. 620 621 OPMERKING: Als je Vim zou verlaten en opnieuw zou starten met vim TEST is 622 het bestand een exacte kopie van de lessen, zoals je ze opsloeg. 623 624 5. Wis het bestand nu met de opdracht (MS-DOS) :!del TEST 625 of (Unix) :!rm TEST 626 627~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 628 Les 5.3: EEN DEEL VAN DE TEKST OPSLAAN 629 630 ** Sla een deel van het bestand op met v beweging :w BESTANDSNAAM ** 631 632 1. Ga naar deze regel. 633 634 2. Tik v en ga met de cursor naar stap 5 hieronder. Je ziet dat de 635 tekst oplicht. 636 637 3. Tik : . Onderaan het scherm zal :'<,'> verschijnen. 638 639 4. Tik w TEST , waar TEST een bestandsnaam is, die nog niet bestaat. 640 Controleer dat je :'<,'>w TEST ziet staan voordat je <ENTER> tikt. 641 642 5. Vim slaat nu de geselecteerde regels op in het bestand TEST. Met 643 :!dir of !ls kan je dat zien. Wis het nog niet! We zullen het in 644 de volgende les gebruiken. 645 646 OPMERKING: Het tikken van v zet zichtbare modus ('visual selection') aan. 647 Je kan de cursor rondbewegen om de selectie groter of kleiner 648 te maken. Vervolgens kan je een commando gebruiken om iets met 649 de tekst te doen. Met d bijvoorbeeld wis je de tekst. 650 651~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 652 Les 5.4: OPHALEN EN SAMENVOEGEN VAN BESTANDEN 653 654 ** Tik :r BESTANDSNAAM om de inhoud van een bestand in te voegen. ** 655 656 1. Zet de cursor precies boven deze regel. 657 658 OPMERKING: Na het uitvoeren van stap 2 zie je tekst van les 5.3. Scrol 659 daarna naar beneden om deze les weer te zien. 660 661 2. Haal nu het bestand TEST op met het commando :r TEST . 662 Het bestand dat je ophaalt komt onder de regel waarin de cursor staat. 663 664 3. Controleer dat er een bestand is opgehaald. Ga met de cursor omhoog. 665 Dan zie je de tekst van les 5.3 dubbel, het origineel en de versie uit 666 het bestand. 667 668 OPMERKING: Je kan ook de uitvoer van een extern commando inlezen. Om een 669 voorbeeld te geven: :r !ls leest de uitvoer van het commando 670 ls en zet dat onder de regel waarin de cursor staat. 671 672~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 673 SAMENVATTING Les 5 674 675 1. :!COMMANDO voert een extern commando uit. 676 Enkele bruikbare voorbeelden zijn: 677 (MS-DOS) (Unix) 678 :!dir :!ls - laat de inhoud van een map zien 679 :!del BESTAND :!rm BESTAND - wist bestand BESTAND 680 681 2. :w BESTANDSNAAM schrijft het huidige Vim-bestand naar disk met de 682 naam BESTANDSNAAM. 683 684 3. v beweging :w BESTANDSNAAM laat je in zichtbare modus een fragment 685 selecteren, dat wordt opgeslagen in het bestand BESTANDSNAAM. 686 687 4. :r BESTANDSNAAM haalt het bestand BESTANDSNAAM op en voegt het onder 688 de cursor-positie in de tekst in. 689 690 5. :r !dir leest de uitvoer van het externe commando dir en zet het onder 691 de cursor-positie. 692 693~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 694 Les 6.1: HET COMMANDO OPEN 695 696 ** Tik o om een regel onder de cursor te openen in invoegmodus. ** 697 698 1. Ga naar de eerste regel beneden met --->. 699 700 2. Tik de kleine letter o en open daarmee een regel ONDER de cursor en 701 ga naar de invoegmodus. 702 703 3. Tik wat tekst in en sluit af met <ESC> om de invoegmodus te verlaten. 704 705 ---> Als je o tikt, komt de cursor in een nieuwe regel in invoegmodus. 706 707 4. Om een regel BOVEN de cursor te openen, moet je gewoon een hoofdletter 708 O tikken in plaats van een kleine letter. Probeer dat vanaf de volgende 709 regel. 710 711 ---> Open een regel hierboven. Tik een O terwijl de cursor hier staat. 712 713~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 714 Les 6.2: HET COMMANDO TOEVOEGEN 715 716 ** Tik a om tekst toe te voegen ACHTER de cursor. ** 717 718 1. Ga naar het begin van de regel beneden met --->. 719 720 2. Tik e tot de cursor op het einde van "ste" staat. 721 722 3. Tik een (kleine letter) a ('append') om toe te voegen ACHTER de cursor. 723 724 4. Vul het woord aan zoals in de volgende regel. Druk <ESC> om de 725 invoegmodus te verlaten. 726 727 5. Ga met e naar het einde van het volgende onvolledige woord en herhaal 728 de stappen 3 en 4. 729 730 ---> Deze regel ste je in staat om te oef in het toevo van tekst. 731 Deze regel stelt je in staat om te oefenen in het toevoegen van tekst. 732 733 OPMERKING: a, i en A openen allemaal dezelfde invoegmodus, het enige 734 verschil is waar tekens worden ingevoegd. 735 736~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 737 Les 6.3: VERVANGEN OP EEN ANDERE MANIER 738 739 ** Tik een hoofdletter R om meer dan ��n teken te vervangen. ** 740 741 1. Ga naar de eerste regel beneden met --->. Ga met de cursor naar het 742 begin van de eerste "xxx" . 743 744 2. Tik nu R en daarna het getal eronder in de tweede regel, zodat xxx 745 wordt vervangen. 746 747 3. Druk <ESC> om de vervangmodus te verlaten. Je ziet dat de rest van de 748 regel ongewijzigd blijft. 749 750 4. Herhaal de stappen om de overgebleven xxx te vervangen. 751 752 ---> Optellen van 123 en xxx geeft je xxx. 753 ---> Optellen van 123 en 456 geeft je 579. 754 755 OPMERKING: Vervangmodus lijkt op invoegmodus, maar elk teken dat je tikt, 756 vervangt een bestaand teken. 757 758~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 759 Les 6.4: TEKST KOPI�REN EN PLAKKEN 760 761 ** Gebruik y om tekst te kopi�ren en p om te plakken. ** 762 763 1. Ga naar de regel beneden met ---> en zet de cursor achter "a)". 764 765 2. Zet zichtbare modus aan met v en zet de cursor juist voor "eerste". 766 767 3. Tik y ('yank') om de opgelichte tekst ("dit is het") te kopi�ren. 768 769 4. Ga met j$ met de cursor naar het einde van de volgende regel. 770 771 5. Plak de gekopieerde tekst met p en tik a tweede <ESC>. 772 773 6. Selecteer in zichtbare modus "onderdeel", kopieer het met y en 774 ga met j$ naar het einde van de tweede regel. Plak de tekst daar 775 met p . 776 777 ---> a) dit is het eerste onderdeel 778 b) 779 780 OPMERKING: Je kan y ook als operator gebruiken; yw kopieert een woord, 781 yy een hele regel. 782 783~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 784 Les 6.5: OPTIES GEBRUIKEN 785 786 ** Gebruik een optie voor al dan niet hoofdlettergevoelig zoeken. ** 787 788 1. Zoek naar 'hoofdlettergevoelig' met /hoofdlettergevoelig <ENTER> 789 Herhaal het zoeken enkele keren door n te tikken. 790 791 2. Schakel de optie 'ic' ('ignore case', niet-hoofdlettergevoelig) in 792 met :set ic 793 794 3. Zoek met n opnieuw naar 'hoofdlettergevoelig'. Je ziet dat 795 Hoofdlettergevoelig en HOOFDLETTERGEVOELIG nu ook gevonden worden. 796 797 4. Schakel de opties 'hlsearch' (treffers oplichten) en 'incsearch' (toon 798 gedeeltelijke treffers bij intikken) in met :set hls is 799 800 5. Tik weer /hoofdlettergevoelig <ENTER> en kijk wat er gebeurt. 801 802 6. Schakel 'hoofdlettergevoelig' weer in met :set noic 803 804 OPMERKING: Schakel het oplichten van treffers uit met :nohlsearch 805 806 OPMERKING: Om bij een enkel zoek-commando de hoofdlettergevoeligheid om 807 te draaien kan \c worden gebruikt na de zoekterm: 808 /hoofdlettergevoelig\c <ENTER>. 809 810~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 811 SAMENVATTING Les 6 812 813 1. Tik o om een regel te openen ONDER de cursor en invoegmodus te starten. 814 Tik O om een regel te openen BOVEN de cursor. 815 816 2. Tik a om tekst toe te voegen NA de cursor. 817 Tik A om tekst toe te voegen aan het einde van de regel. 818 819 3. Het commando e beweegt de cursor naar het einde van een woord. 820 821 4. De operator y yankt (kopieert) tekst, p zet het terug (plakt). 822 823 5. Met hoofdletter R wordt de vervangmodus geopend, met <ESC> afgesloten. 824 825 6. Met :set xxx wordt optie 'xxx' ingeschakeld. Opties zijn bijvoorbeeld: 826 ic ignorecase geen verschil hoofdletters/kleine letters bij zoeken 827 is incsearch toon gedeeltelijke treffers tijdens intikken zoekterm 828 hls hlsearch laat alle treffers oplichten 829 Je kan zowel de lange als de korte naam van een optie gebruiken. 830 831 7. Zet 'no' voor de naam om een optie uit te schakelen: :set noic 832 schakelt 'ic' uit. 833 834~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 835 Les 7.1: HULP INROEPEN 836 837 ** Het gebruik van ingebouwde hulp. ** 838 839 Vim heeft een uitgebreid ingebouwd hulpsysteem. Probeer, om te beginnen, 840 ��n van deze drie: 841 - druk de <HELP> toets (als je die hebt) 842 - druk de <F1> toets (als je die hebt) 843 - tik :help <ENTER> 844 845 Lees de tekst in het help-venster om te leren hoe 'help' werkt. 846 Tik CTRL-W CTRL-W om van het ene venster naar het andere te gaan. 847 Met :q <ENTER> wordt het help-venster gesloten. 848 849 Je kan hulp vinden over nagenoeg elk onderwerp door een argument aan het 850 commando :help toe te voegen. Probeer deze (en vergeet <ENTER> niet): 851 :help w 852 :help c_CTRL-D 853 :help insert-index 854 :help user-manual 855 856~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 857 Les 7.2: SCHRIJF EEN CONFIGURATIEBESTAND 858 859 ** Mogelijkheden van Vim uitbreiden. ** 860 861 Vim kent veel meer mogelijkheden dan Vi, maar de meeste zijn standaard 862 uitgeschakeld. Om meer functies te gebruiken moet je een 'vimrc'-bestand 863 schrijven. 864 865 1. Bewerk het bestand 'vimrc'. Hoe dat moet hangt af van je systeem: 866 :e ~/.vimrc voor Unix 867 :e ~/_vimrc voor MS-Windows 868 869 2. Lees de inhoud van het voorbeeld-bestand: 870 :r $VIMRUNTIME/vimrc_example.vim 871 872 3. Sla het bestand op met :w 873 874 De volgende keer dat je Vim start wordt 'syntaxiskleuring' gebruiken. 875 Je kan al je voorkeursinstellingen toevoegen aan dit 'vimrc'-bestand. 876 Tik :help vimrc-intro voor meer informatie. 877 878~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 879 Les 7.3: AANVULLEN 880 881 ** Aanvullen van de 'command line' met CTRL-D en <TAB>. ** 882 883 1. Zorg dat Vim niet in 'compatible mode' is met :set nocp 884 885 2. Kijk welke bestanden zich in de map bevinden met :!ls of :!dir 886 887 3. Tik het begin van een commando: :e 888 889 4. Met CTRL-D toont Vim een lijst commando's, die met "e" beginnen. 890 891 5. Druk enkele keren <TAB>. Vim laat aanvullingen zien, zoals ":edit", 892 dat we hier gebruiken. 893 894 6. Voeg een spatie toe en de eerste letter(s) van een bestaande 895 bestandsnaam: :edit BESTAND 896 897 7. Druk <TAB>. Vim vult de naam aan (als hij uniek is). 898 899 OPMERKING: Aanvullen werkt bij tal van commando's. Probeer gewoon CTRL-D 900 en <TAB>. Het is bijzonder nuttig bij :help . 901 902~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 903 SAMENVATTING Les 7 904 905 1. Tik :help of druk <F1> of <Help> om een help-venster te openen. 906 907 2. Tik :help CMD voor hulp over CMD . 908 909 3. Tik CTRL-W CTRL-W om naar een ander venster te gaan. 910 911 4. Tik :q om het help-venster te sluiten. 912 913 5. Maak een bestand met de naam 'vimrc' voor je voorkeursinstellingen. 914 915 6. Druk CTRL-D tijdens het intikken van een :-commando om mogelijke 916 aanvullingen te zien. Druk <TAB> om aanvullen te gebruiken. 917 918~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 919 Hiermee komen de Vim-lessen tot een einde. Ze waren bedoeld om een kort 920 overzicht te geven van de Vim-editor, juist voldoende om de editor 921 redelijk makkelijk te gebruiken. Deze lessen zijn verre van volledig. Vim 922 kent veel meer commando's. Lees hierna de handleiding voor gebruikers: 923 ":help user-manual". 924 925 Voor verdere studie wordt aanbevolen: 926 Vim - Vi Improved - door Steve Oualline 927 Uitgever: New Riders 928 Dit is het eerste boek dat geheel aan Vim is gewijd. Speciaal geschikt 929 voor beginners. Met veel voorbeelden en afbeeldingen. 930 Zie http://iccf-holland.org/click5.html 931 932 Het volgende boek is ouder en gaat meer over Vi dan Vim, maar het wordt 933 toch aanbevolen: 934 Learning the Vi Editor - door Linda Lamb 935 Uitgever: O'Reilly & Associates Inc. 936 Het is een goed boek om nagenoeg alles te weten te komen dat je met Vi 937 zou willen doen. De zesde en vooral de nieuwe zevende druk (onder de 938 titel Learning the Vi and Vim Editors door Arnold Robbins, Elbert Hannah 939 & Linda Lamb) bevat ook informatie over Vim. 940 941 Deze lessen zijn geschreven door Michael C. Pierce en Robert K. Ware, 942 Colorado School of Mines met gebruikmaking van idee�n van Charles Smith 943 van de Colorado State University. E-mail: [email protected]. 944 945 Aangepast voor Vim door Bram Moolenaar. 946 947 Nederlandse vertaling door Rob Bishoff, april 2012 948 e-mail: [email protected]) 949 950~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 951