===============================================================================
= V e l k o m m e n   t i l   i n n f ø r i n g e n   i   V i m  --  Ver. 1.7 =
===============================================================================

     Vim er en meget kraftig editor med mange kommandoer, alt for mange til å
     kunne gå gjennom alle i en innføring som denne. Den er beregnet på å
     sette deg inn i bruken av nok kommandoer så du vil være i stand til lett
     å kunne bruke Vim som en editor til alle formål.

     Tiden som kreves for å gå gjennom denne innføringen tar ca. 25-30
     minutter, avhengig av hvor mye tid du bruker til eksperimentering.

     MERK:
     Kommandoene i leksjonene vil modifisere teksten. Lag en kopi av denne
     filen som du kan øve deg på (hvis du kjørte «vimtutor»-kommandoen, er
     dette allerede en kopi).

     Det er viktig å huske at denne innføringen er beregnet på læring gjennom
     bruk. Det betyr at du må utføre kommandoene for å lære dem skikkelig.
     Hvis du bare leser teksten, vil du glemme kommandoene!

     Først av alt, sjekk at «Caps Lock» IKKE er aktiv og trykk «j»-tasten for
     å flytte markøren helt til leksjon 1.1 fyller skjermen.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		      Leksjon 1.1:  FLYTTING AV MARKØREN


       ** For å flytte markøren, trykk tastene h, j, k, l som vist. **
	     ^
	     k		Tips: h-tasten er til venstre og flytter til venstre.
       < h	 l >	      l-tasten er til høyre og flytter til høyre.
	     j		      j-tasten ser ut som en pil som peker nedover.
	     v
  1. Flytt markøren rundt på skjermen til du har fått det inn i fingrene.

  2. Hold inne nedovertasten (j) til den repeterer.
     Nå vet du hvordan du beveger deg til neste leksjon.

  3. Gå til leksjon 1.2 ved hjelp av nedovertasten.

Merk: Hvis du blir usikker på noe du har skrevet, trykk <ESC> for å gå til
      normalmodus. Skriv deretter kommandoen du ønsket på nytt.

Merk: Piltastene skal også virke. Men ved å bruke hjkl vil du være i stand til
      å bevege markøren mye raskere når du er blitt vant til det. Helt sant!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  Leksjon 1.2: AVSLUTTE VIM


  !! MERK: Før du utfører noen av punktene nedenfor, les hele leksjonen!!

  1. Trykk <ESC>-tasten (for å forsikre deg om at du er i normalmodus).

  2. Skriv:	:q! <ENTER>.
     Dette avslutter editoren og FORKASTER alle forandringer som du har gjort.

  3. Når du ser kommandolinjen i skallet, skriv kommandoen som startet denne
     innføringen. Den er:   vimtutor <ENTER>

  4. Hvis du er sikker på at du husker dette, utfør punktene 1 til 3 for å
     avslutte og starte editoren på nytt.

MERK:  :q! <ENTER>  forkaster alle forandringer som du gjorde. I løpet av noen
       få leksjoner vil du lære hvordan du lagrer forandringene til en fil.

  5. Flytt markøren ned til leksjon 1.3.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		 Leksjon 1.3: REDIGERING AV TEKST -- SLETTING


	     ** Trykk  x  for å slette tegnet under markøren. **

  1. Flytt markøren til den første linjen merket med  --->.

  2. For å ordne feilene på linjen, flytt markøren til den er oppå tegnet som
     skal slettes.

  3. Trykk tasten  x  for å slette det uønskede tegnet.

  4. Repeter punkt 2 til 4 til setningen er lik den som er under.

---> Hessstennnn brrråsnudddde ii gaaata.
---> Hesten bråsnudde i gata.

  5. Nå som linjen er korrekt, gå til leksjon 1.4.

MERK: Når du går gjennom innføringen, ikke bare prøv å huske kommandoene, men
      bruk dem helt til de sitter.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Leksjon 1.4: REDIGERING AV TEKST -- INNSETTING


		    ** Trykk  i  for å sette inn tekst. **

  1. Flytt markøren til den første linjen som er merket med --->.

  2. For å gjøre den første linjen lik den andre, flytt markøren til den står
     på tegnet ETTER posisjonen der teksten skal settes inn.

  3. Trykk  i  og skriv inn teksten som mangler.

  4. Etterhvert som hver feil er fikset, trykk <ESC> for å returnere til
     normalmodus. Repeter punkt 2 til 4 til setningen er korrekt.

---> Det er tkst som mnglr .
---> Det er ganske mye tekst som mangler her.

  5. Når du føler deg komfortabel med å sette inn tekst, gå til oppsummeringen
     nedenfor.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Leksjon 1.5: REDIGERING AV TEKST -- LEGGE TIL


		    ** Trykk  A  for å legge til tekst. **

  1. Flytt markøren til den første linjen nedenfor merket --->.
     Det har ikke noe å si hvor markøren er plassert på den linjen.

  2. Trykk  A  og skriv inn det som skal legges til.

  3. Når teksten er lagt til, trykk <ESC> for å returnere til normalmodusen.

  4. Flytt markøren til den andre linjen markert med ---> og repeter steg 2 og
     3 for å reparere denne setningen.

---> Det mangler noe tekst p
     Det mangler noe tekst på denne linjen.
---> Det mangler også litt tek
     Det mangler også litt tekst på denne linjen.

  5. Når du føler at du behersker å legge til tekst, gå til leksjon 1.6.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			 Leksjon 1.6: REDIGERE EN FIL


	       ** Bruk	:wq  for å lagre en fil og avslutte. **

  !! MERK: Før du utfører noen av stegene nedenfor, les hele denne leksjonen!!

  1. Avslutt denne innføringen som du gjorde i leksjon 1.2:  :q!

  2. Skriv denne kommandoen på kommandolinja:  vim tutor <ENTER>
     «vim» er kommandoen for å starte Vim-editoren, «tutor» er navnet på fila
     som du vil redigere. Bruk en fil som kan forandres.

  3. Sett inn og slett tekst som du lærte i de foregående leksjonene.

  4. Lagre filen med forandringene og avslutt Vim med:	:wq <ENTER>

  5. Start innføringen på nytt og flytt ned til oppsummeringen som følger.

  6. Etter å ha lest og forstått stegene ovenfor: Sett i gang.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  OPPSUMMERING AV LEKSJON 1


  1. Markøren beveges ved hjelp av piltastene eller hjkl-tastene.
	 h (venstre)	 j (ned)     k (opp)	 l (høyre)

  2. For å starte Vim fra skall-kommandolinjen, skriv:	vim FILNAVN <ENTER>

  3. For å avslutte Vim, skriv:  <ESC> :q! <ENTER>  for å forkaste endringer.
		   ELLER skriv:  <ESC> :wq <ENTER>  for å lagre forandringene.

  4. For å slette tegnet under markøren, trykk:  x

  5. For å sette inn eller legge til tekst, trykk:
	 i    skriv innsatt tekst  <ESC>	sett inn før markøren
	 A    skriv tillagt tekst  <ESC>	legg til på slutten av linjen

MERK: Når du trykker <ESC> går du til normalmodus eller du avbryter en uønsket
      og delvis fullført kommando.

  Nå kan du gå videre til leksjon 2.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			Leksjon 2.1: SLETTEKOMMANDOER


		    ** Trykk  dw  for å slette et ord. **

  1. Trykk <ESC> for å være sikker på at du er i normalmodus.

  2. Flytt markøren til den første linjen nedenfor merket --->.

  3. Flytt markøren til begynnelsen av ordet som skal slettes.

  4. Trykk  dw	og ordet vil forsvinne.

MERK: Bokstaven  d  vil komme til syne på den nederste linjen på skjermen når
      du skriver den. Vim venter på at du skal skrive w . Hvis du ser et annet
      tegn enn	d  har du skrevet noe feil; trykk <ESC> og start på nytt.

---> Det er agurk tre ord eple som ikke hører pære hjemme i denne setningen.
---> Det er tre ord som ikke hører hjemme i denne setningen.

  5. Repeter punkt 3 og 4 til den første setningen er lik den andre. Gå
     deretter til leksjon 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		     Leksjon 2.2: FLERE SLETTEKOMMANDOER


	     ** Trykk  d$  for å slette til slutten av linjen. **

  1. Trykk <ESC> for å være sikker på at du er i normalmodus.

  2. Flytt markøren til linjen nedenfor merket --->.

  3. Flytt markøren til punktet der linjen skal kuttes (ETTER første punktum).

  4. Trykk  d$	for å slette alt til slutten av linjen.

---> Noen skrev slutten på linjen en gang for mye. linjen en gang for mye.

  5. Gå til leksjon 2.3 for å forstå hva som skjer.






~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		   Leksjon 2.3: OM OPERATORER OG BEVEGELSER


  Mange kommandoer som forandrer teksten er laget ut i fra en operator og en
  bevegelse. Formatet for en slettekommando med sletteoperatoren  d  er:

	d   bevegelse

  Der:
    d	      - er sletteoperatoren.
    bevegelse - er hva operatoren vil opere på (listet nedenfor).

  En kort liste med bevegelser:
    w - til starten av det neste ordet, UNNTATT det første tegnet.
    e - til slutten av det nåværende ordet, INKLUDERT det siste tegnet.
    $ - til slutten av linjen, INKLUDERT det siste tegnet.

  Ved å skrive	de  vil altså alt fra markøren til slutten av ordet bli
  slettet.

MERK:  Ved å skrive kun bevegelsen i normalmodusen uten en operator vil
       markøren flyttes som spesifisert.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		 LEKSJON 2.4: BRUK AV TELLER FOR EN BEVEGELSE


 ** Ved å skrive et tall foran en bevegelse repeterer den så mange ganger. **

  1. Flytt markøren til starten av linjen markert ---> nedenfor.

  2. Skriv  2w	for å flytte markøren to ord framover.

  3. Skriv  3e	for å flytte markøren framover til slutten av det tredje
     ordet.

  4. Skriv  0  (null) for å flytte til starten av linjen.

  5. Repeter steg 2 og 3 med forskjellige tall.

---> Dette er en linje med noen ord som du kan bevege deg rundt på.

  6. Gå videre til leksjon 2.5.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		 Leksjon 2.5: BRUK AV ANTALL FOR Å SLETTE MER


     ** Et tall sammen med en operator repeterer den så mange ganger. **

  I kombinasjonen med sletteoperatoren og en bevegelse nevnt ovenfor setter du
  inn antall før bevegelsen for å slette mer:
	 d  nummer  bevegelse

  1. Flytt markøren til det første ordet med STORE BOKSTAVER på linjen markert
     med --->.

  2. Skriv  2dw  for å slette de to ordene med store bokstaver.

  3. Repeter steg 1 og 2 med forskjelling antall for å slette de etterfølgende
     ordene som har store bokstaver.

---> Denne ABC DE linjen FGHI JK LMN OP er nå Q RS TUV litt mer lesbar.

MERK: Et antall mellom operatoren  d  og bevegelsen virker på samme måte som å
      bruke bevegelsen uten en operator.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			Leksjon 2.6: OPERERE PÅ LINJER


		 ** Trykk  dd  for å slette en hel linje. **

  På grunn av at sletting av linjer er mye brukt, fant utviklerne av Vi ut at
  det vil være lettere å rett og slett trykke to d-er for å slette en linje.

  1. Flytt markøren til den andre linjen i verset nedenfor.
  2. Trykk  dd	 å slette linjen.
  3. Flytt deretter til den fjerde linjen.
  4. Trykk  2dd  for å slette to linjer.

--->  1) Roser er røde,
--->  2) Gjørme er gøy,
--->  3) Fioler er blå,
--->  4) Jeg har en bil,
--->  5) Klokker viser tiden,
--->  6) Druer er søte
--->  7) Og du er likeså.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			Leksjon 2.7: ANGRE-KOMMANDOEN


  ** Trykk  u  for å angre siste kommando,  U  for å fikse en hel linje. **

  1. Flytt markøren til linjen nedenfor merket ---> og plasser den på den
     første feilen.
  2. Trykk  x  for å slette det første uønskede tegnet.
  3. Trykk så  u  for å angre den siste utførte kommandoen.
  4. Deretter ordner du alle feilene på linjene ved å bruke kommandoen	x  .
  5. Trykk nå en stor  U  for å sette linjen tilbake til det den var
     originalt.
  6. Trykk  u  noen ganger for å angre	U  og foregående kommandoer.
  7. Deretter trykker du  CTRL-R  (hold CTRL nede mens du trykker R) noen
     ganger for å gjenopprette kommandoene (omgjøre angrekommandoene).

---> RReparer feiilene påå denne linnnjen oog erssstatt dem meed angre.

  8. Dette er meget nyttige kommandoer. Nå kan du gå til oppsummeringen av
     leksjon 2.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  OPPSUMMERING AV LEKSJON 2


  1. For å slette fra markøren fram til det neste ordet, trykk:  dw
  2. For å slette fra markøren til slutten av en linje, trykk:	d$
  3. For å slette en hel linje, trykk:	dd

  4. For å repetere en bevegelse, sett et nummer foran:  2w
  5. Formatet for en forandringskommando er:
	       operator  [nummer]  bevegelse
     der:
       operator  - hva som skal gjøres, f.eks.	d  for å slette
       [nummer]  - et valgfritt antall for å repetere bevegelsen
       bevegelse - hva kommandoen skal operere på, eksempelvis	w  (ord),
		   $  (til slutten av linjen) og så videre.

  6. For å gå til starten av en linje, bruk en null:  0

  7. For å angre tidligere endringer, skriv:		u  (liten u)
     For å angre alle forandringer på en linje, skriv:	U  (stor U)
     For å omgjøre angringen, trykk:			CTRL-R

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		      Leksjon 3.1: «LIM INN»-KOMMANDOEN


    ** Trykk  p  for å lime inn tidligere slettet tekst etter markøren **

  1. Flytt markøren til den første linjen med ---> nedenfor.

  2. Trykk  dd	for å slette linjen og lagre den i et Vim-register.

  3. Flytt markøren til c)-linjen, OVER posisjonen linjen skal settes inn.

  4. Trykk  p  for å legge linjen under markøren.

  5. Repeter punkt 2 til 4 helt til linjene er i riktig rekkefølge.

---> d) Kan du også lære?
---> b) Fioler er blå,
---> c) Intelligens må læres,
---> a) Roser er røde,



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		      Leksjon 3.2: «ERSTATT»-KOMMANDOEN


	 ** Trykk  rx  for å erstatte tegnet under markøren med x. **

  1. Flytt markøren til den første linjen nedenfor merket --->.

  2. Flytt markøren så den står oppå den første feilen.

  3. Trykk  r  og deretter tegnet som skal være der.

  4. Repeter punkt 2 og 3 til den første linjen er lik den andre.

---> Da dfnne lynjxn ble zkrevet, var det nøen som tjykket feite taster!
---> Da denne linjen ble skrevet, var det noen som trykket feile taster!

  5. Gå videre til leksjon 3.2.

MERK: Husk at du bør lære ved å BRUKE, ikke pugge.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		      Leksjon 3.3: «FORANDRE»-OPERATOREN


	   ** For å forandre til slutten av et ord, trykk  ce . **

  1. Flytt markøren til den første linjen nedenfor som er merket --->.

  2. Plasser markøren på  u  i «lubjwr».

  3. Trykk  ce	og det korrekte ordet (i dette tilfellet, skriv «injen»).

  4. Trykk <ESC> og gå til det neste tegnet som skal forandres.

  5. Repeter punkt 3 og 4 helt til den første setningen er lik den andre.

---> Denne lubjwr har noen wgh som må forkwåp med «forækzryas»-kommandoen.
---> Denne linjen har noen ord som må forandres med «forandre»-kommandoen.

Vær oppmerksom på at  ce  sletter ordet og går inn i innsettingsmodus.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Leksjon 3.4: FLERE FORANDRINGER VED BRUK AV c


 ** Forandringskommandoen blir brukt med de samme bevegelser som «slett». **

  1. Forandringsoperatoren fungerer på samme måte som «slett». Formatet er:

	 c    [nummer]	 bevegelse

  2. Bevegelsene er de samme, som for eksempel	w  (ord) og  $	(slutten av en
     linje).

  3. Gå til den første linjen nedenfor som er merket --->.

  4. Flytt markøren til den første feilen.

  5. Skriv  c$	og skriv resten av linjen lik den andre og trykk <ESC>.

---> Slutten på denne linjen trenger litt hjelp for å gjøre den lik den neste.
---> Slutten på denne linjen trenger å bli rettet ved bruk av c$-kommandoen.

MERK: Du kan bruke slettetasten for å rette feil mens du skriver.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  OPPSUMMERING AV LEKSJON 3


  1. For å legge tilbake tekst som nettopp er blitt slettet, trykk  p  . Dette
     limer inn den slettede teksten ETTER markøren (hvis en linje ble slettet
     vil den bli limt inn på linjen under markøren).

  2. For å erstatte et tegn under markøren, trykk  r  og deretter tegnet som
     du vil ha der.

  3. Forandringsoperatoren lar deg forandre fra markøren til dit bevegelsen
     tar deg. Det vil si, skriv  ce  for å forandre fra markøren til slutten
     av ordet,	c$  for å forandre til slutten av linjen.

  4. Formatet for «forandre» er:

	 c   [nummer]	bevegelse

Nå kan du gå til neste leksjon.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	     Leksjon 4.1: POSISJONERING AV MARKØREN OG FILSTATUS

	** Trykk CTRL-G for å vise posisjonen i filen og filstatusen.
	   Trykk  G  for å gå til en spesifikk linje i filen. **

  Merk: Les hele leksjonen før du utfører noen av punktene!

  1. Hold nede Ctrl-tasten og trykk  g	. Vi kaller dette CTRL-G. En melding
     vil komme til syne på bunnen av skjermen med filnavnet og posisjonen i
     filen. Husk linjenummeret for bruk i steg 3.

Merk: Du kan se markørposisjonen i nederste høyre hjørne av skjermen. Dette
      skjer når «ruler»-valget er satt (forklart i leksjon 6).

  2. Trykk  G  for å gå til bunnen av filen.
     Skriv  gg	for å gå til begynnelsen av filen.

  3. Skriv inn linjenummeret du var på og deretter  G . Dette vil føre deg
     tilbake til linjen du var på da du først trykket CTRL-G.

  4. Utfør steg 1 til 3 hvis du føler deg sikker på prosedyren.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			 Leksjon 4.2: SØKEKOMMANDOEN

      ** Skriv	/  etterfulgt av en søkestreng som du vil lete etter. **

  1. Trykk  /  når du er i normalmodusen. Legg merke til at skråstreken og
     markøren kommer til syne på bunnen av skjermen i likhet med
     «:»-kommandoene.

  2. Skriv «feeeiil» og trykk <ENTER>. Dette er teksten du vil lete etter.

  3. For å finne neste forekomst av søkestrengen, trykk  n .
     For å lete etter samme søketeksten i motsatt retning, trykk  N .

  4. For å lete etter en tekst bakover i filen, bruk  ?  istedenfor  /	.

  5. For å gå tilbake til der du kom fra, trykk  CTRL-O  (Hold Ctrl nede mens
     du trykker bokstaven  o ). Repeter for å gå enda lengre tilbake. CTRL-I
     går framover.

---> «feeeiil» er ikke måten å skrive «feil» på, feeeiil er helt feil.
Merk: Når søkingen når slutten av filen, vil den fortsette fra starten unntatt
      hvis «wrapscan»-valget er resatt.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		   Leksjon 4.3: FINN SAMSVARENDE PARENTESER


	  ** Trykk  %  for å finne en samsvarende ), ] eller } . **

  1. Plasser markøren på en (, [ eller { på linjen nedenfor merket --->.

  2. Trykk  %  .

  3. Markøren vil gå til den samsvarende parentesen eller hakeparentesen.

  4. Trykk  %  for å flytte markøren til den andre samsvarende parentesen.

  5. Flytt markøren til en annen (, ), [, ], { eller } og se hva  %  gjør.

---> Dette ( er en testlinje med (, [ ] og { } i den )).

Merk: Dette er veldig nyttig til feilsøking i programmer som har ubalansert
      antall parenteser!



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		       Leksjon 4.4: ERSTATT-KOMMANDOEN


	** Skriv  :s/gammel/ny/g  for å erstatte «gammel» med «ny». **

  1. Flytt markøren til linjen nedenfor som er merket med --->.

  2. Skriv  :s/deen/den/ <ENTER>  . Legg merke til at denne kommandoen bare
     forandrer den første forekomsten av «deen» på linjen.

  3. Skriv  :s/deen/den/g . Når g-flagget legges til, betyr dette global
     erstatning på linjen og erstatter alle forekomster av «deen» på linjen.

---> deen som kan kaste deen tyngste steinen lengst er deen beste

  4. For å erstatte alle forekomster av en tekststreng mellom to linjer,
     skriv  :#,#s/gammel/ny/g  der #,# er linjenumrene på de to linjene for
			       linjeområdet erstatningen skal gjøres.
     Skriv  :%s/gammel/ny/g    for å erstatte tekst i hele filen.
     Skriv  :%s/gammel/ny/gc   for å finne alle forekomster i hele filen, og
			       deretter spørre om teksten skal erstattes eller
			       ikke.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  OPPSUMMERING AV LEKSJON 4


  1. Ctrl-G viser nåværende posisjon i filen og filstatusen.
	     G	går til slutten av filen.
     nummer  G	går til det linjenummeret.
	    gg	går til den første linjen.

  2. Skriv  /  etterfulgt av en søketekst for å lete FRAMOVER etter teksten.
     Skriv  ?  etterfulgt av en søketekst for å lete BAKOVER etter teksten.
     Etter et søk kan du trykke  n  for å finne neste forekomst i den samme
     retningen eller  N  for å lete i motsatt retning.
     CTRL-O tar deg tilbake til gamle posisjoner, CTRL-I til nyere posisjoner.

  3. Skriv  %  når markøren står på en (, ), [, ], { eller } for å finne den
     som samsvarer.

  4. Erstatte «gammel» med første «ny» på en linje:  :s/gammel/ny
     Erstatte alle «gammel» med «ny» på en linje:    :s/gammel/ny/g
     Erstatte tekst mellom to linjenumre:	     :#,#s/gammel/ny/g
     Erstatte alle forekomster i en fil:	     :%s/gammel/ny/g
     For å godkjenne hver erstatning, legg til «c»:  :%s/gammel/ny/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	       Leksjon 5.1: HVORDAN UTFØRE EN EKSTERN KOMMANDO


    ** Skriv  :!  etterfulgt av en ekstern kommando for å utføre denne. **

  1. Skriv den velkjente kommandoen  :	 for å plassere markøren på bunnen av
     skjermen. Dette lar deg skrive en kommandolinjekommando.

  2. Nå kan du skrive tegnet  !  . Dette lar deg utføre en hvilken som helst
     ekstern kommando.

  3. Som et eksempel, skriv  ls  etter utropstegnet og trykk <ENTER>. Du vil
     nå få en liste over filene i katalogen, akkurat som om du hadde kjørt
     kommandoen direkte fra kommandolinjen i skallet. Eller bruk  :!dir  hvis
     «ls» ikke virker.

MERK: Det er mulig å kjøre alle eksterne kommandoer på denne måten, også med
      parametere.

MERK: Alle «:»-kommandoer må avsluttes med <ENTER>. Fra dette punktet er det
      ikke alltid vi nevner det.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		     Leksjon 5.2: MER OM LAGRING AV FILER


      ** For å lagre endringene gjort i en tekst, skriv  :w FILNAVN. **

  1. Skriv  :!dir  eller  :!ls	for å få en liste over filene i katalogen. Du
     vet allerede at du må trykke <ENTER> etter dette.

  2. Velg et filnavn på en fil som ikke finnes, som for eksempel  TEST .

  3. Skriv  :w TEST  (der TEST er filnavnet du velger).

  4. Dette lagrer hele filen (denne innføringen) under navnet TEST . For å
     sjekke dette, skriv  :!dir  eller	:!ls  igjen for å se innholdet av
     katalogen.

Merk: Hvis du nå hadde avsluttet Vim og startet på nytt igjen med «vim TEST»,
      ville filen vært en eksakt kopi av innføringen da du lagret den.

  5. Fjern filen ved å skrive  :!rm TEST  hvis du er på et Unix-lignende
     operativsystem, eller  :!del TEST	hvis du bruker MS-DOS.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		   Leksjon 5.3: VELGE TEKST SOM SKAL LAGRES


     ** For å lagre en del av en fil, skriv  v	bevegelse  :w FILNAVN **

  1. Flytt markøren til denne linjen.

  2. Trykk  v  og flytt markøren til det femte elementet nedenfor. Legg merke
     til at teksten blir markert.

  3. Trykk  :  (kolon). På bunnen av skjermen vil  :'<,'>  komme til syne.

  4. Trykk  w TEST  , der TEST er et filnavn som ikke finnes enda. Kontroller
     at du ser	:'<,'>w TEST  før du trykker Enter.

  5. Vim vil skrive de valgte linjene til filen TEST. Bruk  :!dir  eller  :!ls
     for å se den. Ikke slett den enda! Vi vil bruke den i neste leksjon.

MERK: Ved å trykke  v  startes visuelt valg. Du kan flytte markøren rundt for
      å gjøre det valgte området større eller mindre. Deretter kan du bruke en
      operator for å gjøre noe med teksten. For eksempel sletter  d  teksten.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Leksjon 5.4: HENTING OG SAMMENSLÅING AV FILER


 ** For å lese inn en annen fil inn i nåværende buffer, skriv  :r FILNAVN  **

  1. Plasser markøren like over denne linjen.

MERK: Etter å ha utført steg 2 vil du se teksten fra leksjon 5.3. Gå deretter
      NED for å se denne leksjonen igjen.

  2. Hent TEST-filen ved å bruke kommandoen  :r TEST  der TEST er navnet på
     filen du brukte. Filen du henter blir plassert nedenfor markørlinjen.

  3. For å sjekke at filen ble hentet, gå tilbake og se at det er to kopier av
     leksjon 5.3, originalen og denne versjonen.

MERK: Du kan også lese utdataene av en ekstern kommando. For eksempel,	:r !ls
      leser utdataene av ls-kommandoen og legger dem nedenfor markøren.




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  OPPSUMMERING AV LEKSJON 5


  1.  :!kommando  utfører en ekstern kommandio.

      Noen nyttige eksempler er:
	 (MS-DOS)	  (Unix)
	  :!dir		   :!ls		  - List filene i katalogen.
	  :!del FILNAVN    :!rm FILNAVN   - Slett filen FILNAVN.

  2.  :w FILNAVN  skriver den nåværende Vim-filen disken med navnet FILNAVN .

  3.  v  bevegelse  :w FILNAVN	lagrer de visuelt valgte linjene til filen
     FILNAVN.

  4.  :r FILNAVN  henter filen FILNAVN og legger den inn nedenfor markøren.

  5.  :r !dir  leser utdataene fra «dir»-kommandoen og legger dem nedenfor
     markørposisjonen.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		     Leksjon 6.1: «ÅPNE LINJE»-KOMMANDOEN


    ** Skriv  o  for å «åpne opp» for en ny linje etter markøren og gå til
       innsettingsmodus **

  1. Flytt markøren til linjen nedenfor merket --->.

  2. Skriv  o  (liten o) for å åpne opp en linje NEDENFOR markøren og gå inn i
     innsettingsmodus.

  3. Skriv litt tekst og trykk <ESC> for å gå ut av innsettingsmodusen.

---> Etter at  o  er skrevet blir markøren plassert på den tomme linjen.

  4. For å åpne en ny linje OVER markøren, trykk rett og slett en stor	O
     istedenfor en liten  o . Prøv dette på linjen nedenfor.

---> Lag ny linje over denne ved å trykke O mens markøren er på denne linjen.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		      Leksjon 6.2: «LEGG TIL»-KOMMANDOEN


	    ** Skriv  a  for å legge til tekst ETTER markøren. **

  1. Flytt markøren til starten av linjen merket ---> nedenfor.

  2. Trykk  e  til markøren er på slutten av «li».

  3. Trykk  a  (liten a) for å legge til tekst ETTER markøren.

  4. Fullfør ordet sånn som på linjen nedenfor. Trykk <ESC> for å gå ut av
     innsettingsmodusen.

  5. Bruk  e  for å gå til det neste ufullstendige ordet og repeter steg 3 og
     4.

---> Denne li lar deg øve på å leg til tek på en linje.
---> Denne linjen lar deg øve på å legge til tekst på en linje.

Merk: a, i og A går alle til den samme innsettingsmodusen, den eneste
      forskjellen er hvor tegnene blir satt inn.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		   Leksjon 6.3: EN ANNEN MÅTE Å ERSTATTE PÅ


	   ** Skriv en stor  R	for å erstatte mer enn ett tegn. **

  1. Flytt markøren til den første linjen nedenfor merket --->. Flytt markøren
     til begynnelsen av den første «xxx»-en.

  2. Trykk  R  og skriv inn tallet som står nedenfor på den andre linjen så
     det erstatter xxx.

  3. Trykk <ESC> for å gå ut av erstatningsmodusen. Legg merke til at resten
     av linjen forblir uforandret.

  4. Repeter stegene for å erstatte den gjenværende xxx.

---> Ved å legge 123 til xxx får vi xxx.
---> Ved å legge 123 til 456 får vi 579.

MERK: Erstatningsmodus er lik insettingsmodus, men hvert tegn som skrives
      erstatter et eksisterende tegn.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		    Leksjon 6.4: KOPIERE OG LIME INN TEKST


    ** Bruk y-operatoren for å kopiere tekst og  p  for å lime den inn **

  1. Gå til linjen merket ---> nedenfor og plasser markøren etter «a)».

  2. Gå inn i visuell modus med  v  og flytt markøren til like før «første».

  3. Trykk  y  for å kopiere (engelsk: «yank») den uthevede teksten.

  4. Flytt markøren til slutten av den neste linjen:  j$

  5. Trykk  p  for å lime inn teksten. Trykk deretter:	a andre <ESC> .

  6. Bruk visuell modus for å velge « valget.», kopier det med	y , gå til
     slutten av den neste linjen med  j$  og legg inn teksten der med  p .

---> a) Dette er det første valget.
     b)

Merk: Du kan også bruke  y  som en operator;  yw  kopierer ett ord.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			    Leksjon 6.5: SETT VALG


  ** Sett et valg så søk eller erstatning ignorerer store/små bokstaver. **

  1. Let etter «ignore» ved å skrive:  /ignore <ENTER>
     Repeter flere ganger ved å trykke	n .

  2. Sett «ic»-valget (Ignore Case) ved å skrive:  :set ic

  3. Søk etter «ignore» igjen ved å trykke  n .
     Legg merke til at både «Ignore» og «IGNORE» blir funnet.

  4. Sett «hlsearch»- og «incsearch»-valgene:  :set hls is

  5. Skriv søkekommandoen igjen og se hva som skjer:  /ignore <ENTER>

  6. For å slå av ignorering av store/små bokstaver, skriv:  :set noic

Merk: For å fjerne uthevingen av treff, skriv:	:nohlsearch
Merk: Hvis du vil ignorere store/små bokstaver for kun en søkekommando, bruk
      \c  i uttrykket:	/ignore\c <ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  OPPSUMMERING AV LEKSJON 6

  1. Trykk  o  for å legge til en linje NEDENFOR markøren og gå inn i
     innsettingsmodus.
     Trykk  O  for å åpne en linje OVER markøren.

  2. Skriv  a  for å sette inn tekst ETTER markøren.
     Skriv  A  for å sette inn tekst etter slutten av linjen.

  3. Kommandoen  e  går til slutten av et ord.

  4. Operatoren  y  («yank») kopierer tekst,  p  («paste») limer den inn.

  5. Ved å trykke  R  går du inn i erstatningsmodus helt til  <ESC>  trykkes.

  6. Skriv «:set xxx» for å sette valget «xxx». Noen valg er:
	«ic» «ignorecase»	ignorer store/små bokstaver under søk
	«is» «incsearch»	vis delvise treff for en søketekst
	«hls» «hlsearch»	uthev alle søketreff

  7. Legg til «no» foran valget for å slå det av:  :set noic

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			    Leksjon 7.1: FÅ HJELP


		   ** Bruk det innebygde hjelpesystemet. **

  Vim har et omfattende innebygget hjelpesystem. For å starte det, prøv en av
  disse måtene:
    - Trykk Hjelp-tasten (hvis du har en)
    - Trykk F1-tasten (hvis du har en)
    - Skriv  :help <ENTER>

  Les teksten i hjelpevinduet for å finne ut hvordan hjelpen virker.
  Skriv  CTRL-W CTRL-W	for å hoppe fra et vindu til et annet
  Skriv  :q <ENTER>	for å lukke hjelpevinduet.

  Du kan få hjelp for omtrent alle temaer om Vim ved å skrive et parameter til
  «:help»-kommandoen. Prøv disse (ikke glem å trykke <ENTER>):

    :help w
    :help c_CTRL-D
    :help insert-index
    :help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		     Leksjon 7.2: LAG ET OPPSTARTSSKRIPT


			** Slå på funksjoner i Vim **

  Vim har mange flere funksjoner enn Vi, men flesteparten av dem er slått av
  som standard. For å begynne å bruke flere funksjoner må du lage en
  «vimrc»-fil.

  1. Start redigeringen av «vimrc»-filen. Dette avhenger av systemet ditt:
	:e ~/.vimrc	  for Unix
	:e $VIM/_vimrc	  for MS Windows

  2. Les inn eksempelfilen for «vimrc»:
	:r $VIMRUNTIME/vimrc_example.vim

  3. Lagre filen med:
	:w

  Neste gang du starter Vim vil den bruke syntaks-utheving. Du kan legge til
  alle dine foretrukne oppsett i denne «vimrc»-filen.
  For mer informasjon, skriv  :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			   Leksjon 7.3: FULLFØRING


	      ** Kommandolinjefullføring med CTRL-D og <TAB> **

  1. Vær sikker på at Vim ikke er i Vi-kompatibel modus:  :set nocp

  2. Se hvilke filer som er i katalogen:  :!ls	eller  :!dir

  3. Skriv starten på en kommando:  :e

  4. Trykk  CTRL-D  og Vim vil vise en liste over kommandoer som starter med
     «e».

  5. Trykk  <TAB>  og Vim vil fullføre kommandonavnet til «:edit».

  6. Legg til et mellomrom og starten på et eksisterende filnavn:  :edit FIL

  7. Trykk <TAB>. Vim vil fullføre navnet (hvis det er unikt).

MERK: Fullføring fungerer for mange kommandoer. Prøv ved å trykke CTRL-D og
      <TAB>. Det er spesielt nyttig for bruk sammen med  :help .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  OPPSUMMERING AV LEKSJON 7


  1. Skriv  :help  eller trykk <F1> eller <Help> for å åpne et hjelpevindu.

  2. Skriv  :help kommando  for å få hjelp om  kommando .

  3. Trykk  CTRL-W CTRL-W  for å hoppe til et annet vindu.

  4. Trykk  :q	for å lukke hjelpevinduet.

  5. Opprett et vimrc-oppstartsskript for å lagre favorittvalgene dine.

  6. Når du skriver en «:»-kommando, trykk CTRL-D for å se mulige
     fullføringer. Trykk <TAB> for å bruke en fullføring.







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

  Her slutter innføringen i Vim. Den var ment som en rask oversikt over
  editoren, akkurat nok til å la deg sette i gang med enkel bruk. Den er på
  langt nær komplett, da Vim har mange flere kommandoer. Les bruksanvisningen
  ved å skrive	:help user-manual  .

  For videre lesing og studier, kan denne boken anbefales:
      «Vim - Vi Improved» av Steve Oualline
      Utgiver: New Riders
  Den første boken som er fullt og helt dedisert til Vim. Spesielt nyttig for
  nybegynnere. Inneholder mange eksempler og illustrasjoner.
  Se http://iccf-holland.org/click5.html

  Denne boken er eldre og handler mer om Vi enn Vim, men anbefales også:
      «Learning the Vi Editor» av Linda Lamb
      Utgiver: O'Reilly & Associates Inc.
  Det er en god bok for å få vite omtrent hva som helst om Vi.
  Den sjette utgaven inneholder også informasjon om Vim.

  Denne innføringen er skrevet av Michael C. Pierce og Robert K. Ware,
  Colorado School of Mines med idéer av Charles Smith, Colorado State
  University. E-mail: bware@mines.colorado.edu .

  Modifisert for Vim av Bram Moolenaar.
  Oversatt av Øyvind A. Holm. E-mail: vimtutor _AT_ sunbase.org
  Id: tutor.no 406 2007-03-18 22:48:36Z sunny

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim: set ts=8 :
