Oplossingen bij Hoofdstuk 7

Vertaling van les 1-4 van de vimtutor cursus:

===============================================
=    Welkom bij de VIM Leraar - versie 1.5    =
===============================================

Vim is een krachtige editor die veel commando's bevat, te veel om ze
allemaal uit te leggen in een handleiding als deze.  Dit leerprogramma werd
ontwikkeld om voldoende commando's te beschrijven zodat je makkelijk met Vim
kan werken als je standaard editor.

Je hebt ongeveer 25-30 minuten nodig om het leerprogramma te doorlopen, 
afhankelijk van hoeveel tijd je doorbrengt met experimenteren.

De commando's in de lessen zullen de tekst aanpassen.  Maak een kopie van dit
bestand om te oefenen (als je startte met het "vimtutor" commando werd er auto-
matisch een kopie gemaakt.

Denk eraan dat het leerprogramma ontwikkeld werd om te leren door te gebruiken.
Dat betekent dat je alle commando's moet uitvoeren om te leren hoe ze werken.  
Als je enkel de tekst leest, zal je de commando's snel vergeten!

Voor je start, zorg je ervoor dat de Caps-Lock toets NIET is ingedrukt.  Druk 
de j toets zoveel keer in dat Les 1.1 het scherm volledig vult.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 1.1: DE CURSOR BEWEGEN

** Om de cursor te bewegen, druk je h,j,k,l zoals aangeduid. **
	^
	k		
< h       l >	      
	j
	v

Hint: De h toets staat links en beweegt naar links
      De l toets staat rechts en beweegt naar rechts
      De j toets lijkt op een pijltje dat naar beneden wijst.

1. Beweeg de cursor over het scherm tot je het in de vingers hebt.

2. Houd de neerwaartse toets (j) ingedrukt tot je vanzelf door de tekst rolt.
---> Nu weet je hoe je naar de volgende les gaat.

3. Ga naar les 1.2.

Nota: Als je onzeker bent over welke toets je moet indrukken, druk dan <ESC>
om weer in de normale mode terecht te komen.  Voer dan het commando dat je wilde
opnieuw uit.

Nota: De pijltjestoetsen zouden ook moeten werken.  Maar met de hjkl toetsen zal
je na verloop van tijd veel sneller kunnen werken, eens je het gewoon bent.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 1.2: VIM OPSTARTEN EN VERLATEN

!! Nota: Lees eerste de volledige les voor je commando's uitvoert!!

1. Druk de <ESC> toets (om zeker in normale mode te zitten).

2. Druk:		:q! <ENTER>

--> Hiermee verlaat je de editor zonder veranderingen op te slaan.
    Als je wel veranderingen wilt opslaan, druk je:
    			:wq <ENTER>

3. Wanneer je weer de prompt van je shell ziet, geef je het commando in dat je
   in het leerprogramma bracht.  Het kan zijn:	vimtutor <ENTER>
   Normaalgezien zou je dit gebruiken: 		vim tutor <ENTER>

--> 'vim' betekent ga in de vim editor, 'tutor' is de naam van het bestand 
    dat je wilt editeren.

4. Als je deze stappen gememoriseerd hebt en je voelt je zeker, voer dan stap 
   1 tot 3 uit om de editor te verlaten en weer op te starten.  Beweeg de cursor
   dan naar Les 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 1.3: TEKST BEWERKEN - VERWIJDEREN

** In normale mode druk je x om het karakter waarop de cursor zich bevindt, te 
verwijderen. **

1. Beweeg de cursor naar de lijn hieronder die gemerkt is met --->.

2. Om de fouten te verbeteren, beweeg je de cursor tot die zich op het karakter
   bevindt dat je wilt verwijderen.

3. Druk de x toets om het ongewenste karakter te verwijderen.

4. Herhaal stappen 2 tot 4 tot de zin correct is.

---> The ccow jumpedd ovverr thhe mooon.

5. Nu de lijn verbeterd is, ga je naar Les 1.4.

Nota: Werk door het leerprogramma zonder dingen uit het hoofd te leren.  Leer
      door te gebruiken.
      
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 1.4: TEKST BEWERKEN - INVOEGEN

** In normale mode druk je i m tekst in te voegen. **

1. Beweeg de cursor naar de eerstvolgende lijn die gemerkt is met --->.

2. Om de eerste lijn hetzelfde te maken als de tweede, beweeg je de cursor naar 
   het eerste karakter NA de plaats waar de tekst ingevoerd moet worden.

3. Druk i en voeg de nodige karakters toe.

4. Na elke verbetering druk je <ESC> om weer naar de normale mode terug
   te keren.  Herhaal stappen 2 tot 4 om de zin te corrigeren.

---> There is text misng this.
---> There is some text missing from this line.

5. Als je tekst invoegen in de vingers hebt, ga je naar de samenvatting 
   hieronder.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 1 Samenvatting

1. De cursor beweeg je met de pijltjestoetsen of met de hjkl toetsen.
	h (links)	j (omlaag)	k (omhoog)	l (rechts)

2. Om Vim te starten vanaf de prompt geef je dit commando in:
	vim BESTANDSNAAM <ENTER>

3. Om Vim te verlaten druk je:	
	<ESC> :q! <ENTER> om geen veranderingen te bewaren.
   OF druk
   	<ESC> :wq! <ENTER> om de veranderingen wel op te slaan.

4. Om een karakter op de plaats van de cursor te verwijderen druk je x in de 
   normale mode.

5. Om tekst in te voegen op de positie van de cursor druk je i, typ dan de tekst in en druk <ESC>

Nota: Door <ESC> te drukken kom je altijd terug in normale mode terecht.  
      Ongewenste, onvolledig ingevoerde commando's worden teniet gedaan.

Ga nu door naar de tweede les.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 2.1: VERWIJDER COMMANDO'S

	** Druk dw om tot het einde van een woord te verwijderen. **

1. Druk <ESC> om je ervan te gewissen dat je in de normale mode bent.

2. Beweeg de cursor naar de lijn hieronder gemerkt met --->.

3. Beweeg de cursor naar het begin van een woord dat verwijderd moet worden.

4. Druk dw om het woord te laten verdwijnen.

NOTA: De letters dw kunnen verschijnen op de laatste lijn van het scherm terwijl
je ze intypt.  Als je iets verkeerds ingeeft, druk dan <ESC> en begin 
opnieuw.

---> There are some words fun that don't belong paper in this sentence.

5. Herhaal stappen 3 en 4 tot de zin correct is en ga naar les 2.2.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 2.2: NOG VERWIJDER COMMANDO'S

	** Druk d$ om te verwijderen tot het einde van de lijn. **

1. Druk <ESC> om je ervan te gewissen dat je in de normale mode bent.

2. Beweeg de cursor naar de lijn hieronder gemerkt met --->.

3. Beweeg de cursor naar het einde van de juiste lijn (NA de eerste punt).

4. Druk d$ om de rest van de lijn te verwijderen.

---> Somebody typed the end of this line twice. en of this line twice.

5. Ga naar les 2.3 om te weten te komen wat hier gebeurt.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 2.3: OVER COMMANDO'S EN OBJECTEN

Het formaat voor het verwijdercommando met d is als volgt:

	[getal] d object	OF	d [getal] object

Met:
	[getal]	- hoeveel keer het commando uitgevoerd moet worden (optioneel, 
		  standaard =1).
	d	- het commando om te verwijderen
	object	- waarop zal het verwijdercommando effect hebben (lijst 
		  hieronder).

Een korte lijst van objecten:
	w 	- van de cursor tot het eind van het woord, spatie incluis.
	e	- van de cursor tot het eind van het woord, exclusief spatie.
	$	- van de cursor tot het einde van de lijn.

NOTA: Voor de avontuurlijk aangelegden: enkel het object intypen terwijl je in 
      de normale mode bent, dus zonder een commando mee te geven, beweegt de 
      cursor zoals gespecifieerd in de objectenlijst.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 2.4: UITZONDERING OP DE COMMANDO-OBJECT REGEL
	
	** Druk dd om een gehele lijn te verwijderen. **

Omdat je vaak hele lijnen moet verwijderen, beslisten de designers van Vi om 
dat gemakkelijker te maken door twee keer d te drukken.

1. Beweeg de cursor naar de tweede lijn in de zin hieronder.

2. Druk dd om de lijn te verwijderen.

3. Ga nu naar de vierde lijn.

4. Druk 2dd (herinner je getal-commando-object) om de twee lijnen te 
   verwijderen.

	1) Roses are red,
	2) Mud is fun,
	3) Violets are blue,
	4) I have a car,
	5) Clocks tell time,
	6) Sugar is sweet
	7) And so are you.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 2.5: Het ONGEDAAN MAKEN COMMANDO

	** Druk u om het laatste commando ongedaan te maken,
	U om alle commando's in een lijn ongedaan te maken. **

1. Beweeg de cursor naar de lijn hieronder gemerkt met ---> en plaats hem op
   de eerste fout.

2. Druk x om het eerste ongewenste karakter te verwijderen.

3. Druk nu u om het laatst uitgevoerde commando ongedaan te maken.

4. Corrigeer nu alle fouten op de lijn met behulp van het x commando.

5. Druk nu de hoofdletter U om de zin terug in zijn oorspronkelijke staat te 
   zetten.

6. Druk nu enkele keren u om het U commando en de vorige commando's ongedaan te    maken.

7. Druk nu CTRL-R (houd de CTRL toets ingedrukt terwijl je de R indrukt) enkele
   keren om de commando's opnieuw uit te voeren (om de ongedaan maken commando's
   ongedaan te maken).

---> Fiix the errors oon thhis line and reeplace them witth undo.

8. Dit zijn zeer nuttige commando's.  Ga nu naar de samenvatting van Les 2.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		LES 2 SAMENVATTING

1. Om te verwijderen vanaf de cursor tot het einde van een woord, druk:	dw

2. Om te verwijderen vanaf de cursor tot het einde van de lijn, druk:	d$

3. Om een hele lijn te verwijderen, druk:				dd

4. Het formaat van een commando in normale mode is:

	[getal] commando object		OF	commando [getal] object

   Waarin:
   	getal	 - hoeveel keer het commando herhaald moet worden.
	commando - welke opdracht, zoals d om te verwijderen.
	object	 - waarop heeft het commando effect, zoals w (woord),
		   $ (tot het einde van de lijn), etc.

5. Om een vorige opdracht ongedaan te maken, druk:	    u (kleine letter)
   Om alle commando's op een lijn ongedaan te maken, druk:  U (hoofdletter)
   Om u of U ongedaan te maken, druk:			    CTRL-R

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 3.1: HET PLAATS COMMANDO

	** Druk p om het laatst verwijderde object na de cursor te plaatsen. **

1. Beweeg de cursor naar de eerste lijn in de reeks hieronder.

2. Druk dd om de lijn te verwijderen en op te slaan in de buffer van Vim.

3. Beweeg de cursor naar de lijn BOVEN de plek waar de verwijderde lijn moet 
   komen.

4. Nog steeds in normale mode, druk p om de lijn terug te plaatsen.

5. Herhaal stappen 2 tot 4 tot alle lijnen in de juiste volgorde staan.

	d) you learn too?
	b) Violets are blue,
	c) Intelligence is learned,
	a) Roses are red,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 3.2: HET VERVANG COMMANDO
		
	** Druk r en een karakter om het karakter onder de 
	   cursor te vervangen. **

1. Beweeg de cursor naar de lijn hieronder gemerkt met --->.

2. Beweeg de cursor tot hij op de eerste fout staat.

3. Druk r en dan het karakter dat in de plaats van de fout moet komen.

4. Herhaal stappen 2 en 3 tot de eerste lijn correct is.

---> Whan this lime was tuoed in, someone presswd some wrojg keys!
---> When this line was typed in, someone pressed some wrong keys!

5. Ga nu naar les 3.3.

NOTA: Denk eraan: leer door te gebruiken, niet door van buiten te leren.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 3.3: HET VERANDER COMMANDO

	** Om een woord geheel of gedeeltelijk te vervangen, druk je cw. **

1. Beweeg de cursor naar de eerste lijn hieronder gemerkt met --->.

2. Plaats de cursor op de u in lubw.

3. Druk cw en het juiste woord (in dit geval typ je 'ine'.)

4. Druk <ESC> en ga naar de volgende fout (het eerste karakter dat 
   vervangen moet worden).

5. Herhaal stappen 3 en 4 tot de eerste zin identiek is aan de tweede.

---> This lubw has a few wptfd that mrrf changing usf the change command.
---> This line has a few words that need changing using the change command.

Merk op dat cw niet alleen het woord vervangt, maar je ook in invoegmode brengt.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 3.4: NOG VERANDERINGEN MET c

	** Het verander commando gebruikt dezelfde objecten als verwijder. **

1. Het verander commando werkt hetzelfde als het verwijder commando. 
   Het formaat is:
   	
	[getal] c object	OF	c [getal] object

2. De objecten zijn ook gelijk, zoals w (woord), $ (einde van de lijn), etc.

3. Beweeg de cursor naar de eerste lijn hieronder gemerkt met --->.

4. Plaats de cursor aan het begin van de eerste fout.

5. Druk c$ om de rest van de lijn identiek te maken aan de tweede lijn en druk
   <ESC>.

---> The end of this line needs some help to make it like the second.
---> The end of this line needs to be corrected using the c$ command.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		LES 3 SAMENVATTING

1. Om tekst die al verwijderd is, terug te plaatsen, druk je p.  Dit plaatst de 
   verwijderde tekst NA de plek waar de cursor staat (onder de cursor als het 
   een volledige lijn betreft).

2. Om een karakter onder de cursor te vervangen, druk je r en daarna het 
   karakter dat in de plaats moet komen.

3. Het verander commando vervangt het gespecifieerde object vanaf de cursor tot 
   het einde van het object.  Bijvoorbeeld: druk cw om te vervangen vanaf de 
   cursor tot het einde van een woord, c$ om te vervangen tot het einde van een
   lijn.

4. Het formaat voor het vervangcommando is:

	[getal] c object	OF	c [getal] object

Ga nu naar de volgende les.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 4.1: LOCATIE EN BESTANDSSTATUS

	** Druk CTRL-g om je locatei in een bestand en de status van het bestand
	   te kennen.
	   Druk SHIFT-G om naar een lijn in het bestand te gaan. **

Nota: Lees eerst de volledige les alvorens de stappen uit te voeren!

1. Houd de CTRL toets ingedrukt en druk g.  Een statuslijn verschijnt onderaan
   het terminal venster met daarin de bestandsnaam en de lijn waarop de cursor
   zicht bevindt.  Onthoud dat lijnnummer voor stap 3.

2. Druk shift-G om naar het einde van het bestand te gaan.

3. Geef het nummer in van de lijn waarop je je bevond en druk dan shift-G.  Zo
   keer je terug naar de lijn waarop je stond toen je de eerste maal CTRL-g
   drukte.  (Wanneer je de getallen ingeeft, komen ze niet op het scherm.)

4. Als je bovenstaande begrepen hebt, voer dan stappen 1 tot 3 uit.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 4.2: HET ZOEK COMMANDO

	** Druk / gevolgd door een zoekwoord om het woord te zoeken. **

1. In normale mode druk je de / toets.  Dit karakter en de cursor komen nu 
   onderaan in je terminal venster.

2. Geef nu 'errroor' <ENTER> in.  Dit is het zoekwoord.

3. Om hetzelfde woord nog eens te zoeken, druk je n.
   Om hetzelfde woord in de andere richting te zoeken, druk je Shift-N.

4. Als je wilt zoeken naar een woord dat boven de cursor staat (naar het begin
   van de tekst in plaats van naar het einde), druk je ? in plaats van /.

---> "errroor" is not the way to spell error; errroor is an error.

Nota: Als tijdens het zoeken het einde van het bestand bereikt wordt, herbegint
      het zoekproces weer aan het begin ervan.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 4.3: ZOEKEN NAAR HAAKJES

	** Druk % om het bijhorende haakje ), ] of } te vinden. **

1. Plaats de cursor op een van de openingshaakjes ( , [ of { in de lijn 
   hieronder gemerkt met --->.

2. Druk nu de % toets in.

3. De cursor wordt naar het overeenkomstige sluithaakje geplaatst.

4. Druk % om de cursor weer op het openingshaakje te zetten.

---> This ( is a test line with ('s, ['s ] and {'s } in it. ))

Nota: Deze funktie is handig voor het debuggen van code, waarin het belangrijk
      is geopende haakjes ook weer te sluiten.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Les 4.4: ZOEKEN EN VERVANGEN

	** Druk :s/oud/nieuw/g om 'oud' door 'nieuw' te vervangen. **

1. Beweeg de cursor naar de lijn hieronder gemerkt met --->.

2. Geef :s/thee/the <ENTER> in.  Merk op dat met dit commando enkel de 
   eerste fout gecorrigeerd wordt.

3. Geef nu :s/thee/the/g in, wat staat voor globale substitutie.  Dit corrigeert
   alle fouten op een lijn.

---> thee best time to see thee flowers is in thee spring.

4. Om elke fout tussen twee lijnnummers te corrigeren, gebruik je 
   :#,#s/oud/nieuw/g waarin #,# vervangen wordt door de nummers van de twee 
   lijnen (bijvoorbeeld 12,22).
   Gebruik :%s/oud/nieuw/g om alle fouten in een bestand te corrigeren.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		LES 4 SAMENVATTING

1. Ctrl-g toont je locatie in een bestand en de status van het bestand.
   Shift-G plaatst de cursor op het einde van het bestand.  Een lijnnummer
   gevolgd door Shift-G plaatst de cursor op dat lijnnummer.

2. / gevolgd door een zoekwoord zoekt het woord VOORWAARDS in de tekst.
   ? gevolgd door een zoekwoord zoekt het woord ACHTERWAARDS in de tekst.
   Na een zoekopdracht geef je n in om hetzelfde woord opnieuw te zoeken in
   dezelfde richting, of Shift-N om in de tegengestelde richting te zoeken.

3. Het % commando ingegeven terwijl de cursor op (. [ of { staat, zoekt het 
   bijhorende ), ] of }.

4. Om oud door nieuw te vervangen op de eerste plaats waar oud voorkomt in een
   lijn, gebruik je				:s/oud/nieuw
   Om alle oud strings te vervangen door nieuw op een lijn, gebruik je
   						:s/oud/nieuw/g
   Om oud door nieuw te vervangen in een blok tekst, gebruik je
   						:#,#/oud/nieuw/g
   Om oud door nieuw te vervangen in de gehele tekst, gebruik je
   						:%s/oud/nieuw/g
   Om telkens bevestiging te vragen alvorens te vervangen, voeg je een c toe
						:%s/oud/nieuw/gc

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Zij die nog moed hebben, mogen de vimtutor tot het einde volgen. De eerste vier lessen zijn echter genoeg om je min of meer comfortabel door alle lespakketten van de cursus te werken.