summaryrefslogtreecommitdiffstats
path: root/runtime/tutor/tutor.nb.utf-8
blob: f9d49c2a241947a1a6d5e882281c193e121f1e4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
===============================================================================
= 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 :