File: vim-01-beginner.tutor

package info (click to toggle)
vim 2%3A9.2.0119-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 96,200 kB
  • sloc: ansic: 434,134; cpp: 6,445; makefile: 4,637; sh: 2,569; java: 2,488; xml: 2,099; python: 1,716; perl: 1,419; awk: 730; lisp: 501; cs: 458; objc: 369; sed: 35; csh: 9; haskell: 1
file content (1009 lines) | stat: -rw-r--r-- 54,750 bytes parent folder | download | duplicates (3)
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
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
#             Добродошли   у   VIM   приручник

#                       ПРВО ПОГЛАВЉЕ

Vim је моћан едитор са много команди, сувише да бисмо их овде све описали.
Приручник је замишљен тако да опише довољан број команди помоћу којих Vim можете
лагодно користите као едитор опште намене. Врло је ВАЖНО запамтити да је овај
приручник прилагођен за учење употребом. То значи да вежбе морате урадити да би
их научили како треба. Ако само читате текст, ускоро ћете заборавити оно што је
најважније!

За сада, ако је Caps Lock укључен ИСКЉУЧИТЕ га. Притисните тастер `j`{normal} довољно пута
тако да цела лекција 0 стане на екран.

# Лекција 0

НАПОМЕНА: команде у лекцијама ће мењати текст, али те измене се неће чувати.
Не брините ако забрљате ствари; просто упамтите да ће притисак на [<Esc>](<Esc>) па
онда на [u](u) да поништи последњу измену.

Овај приручник је интерактиван и постоји неколико ствари које треба да знате.
- На линковима као што је [овај](holy-grail  ) притисните [<Eнтер>](<Enter>) и отвориће се одређени
  одељак помоћи.
- Или једноставно притисните [K](K) на било којој речи да пронађете њену
  документацију!
- Понекад ће бити потребно да измените линију текста као што је
ова овде
Када извршите исправне измене, знак ✗ са леве стране ће се променити у ✓.
Већ видим како схватате колико је Vim опасан. ;)
На другим местима ће се од вас затражити да извршите команду (то ћу да објасним
касније):
~~~ cmd
    :help <Enter>
~~~
или да притиснете низ тастера
~~~ normal
    <Esc>0f<Space>d3wP$P
~~~

Текст унутар < и > (као `<Enter>`{normal}) описује тастер који треба да се
притисне, а не текст који се куца.

А сада, пређите на наредну лекцију (употребите тастер `j`{normal} да скролујете
наниже).

# Лекција 1.1: ПОМЕРАЊЕ КУРСОРА

** За померање курсора, притискајте тастере `h`, `j`, `k`, `l` како је приказано. **

         k        Савет: тастер `h`{normal} је са леве стране и помера курсор у лево.
     ← h   l →           тастер `l`{normal} је са десне стране и помера курсор у десно.
         j               тастер `j`{normal} изгледа као стрелица наниже.

  1. Померајте курсор по екрану док се не навикнете на команде.

  2. Притисните тастер (`j`{normal}) док не почне да се понавља.
     Сада знате како да дођете до наредне лекције.

  3. Користећи тастер наниже, пређите на лекцију 1.2.

НАПОМЕНА: ако било када не будете сигурни у то шта сете управо откуцали,
          притисните <Esc> да пређете у Нормални режим. Па затим поново
          откуцајте команду коју сте хтели.

НАПОМЕНА: курсорске стрелице би такође требало да раде. Али ако користите
          тастере hjkl, једном када се навикнете, моћи ћете да се крећете много
          брже. Заиста!

# Лекција 1.2: ИЗЛАЗАК ИЗ ПРОГРАМА VIM

!! НАПОМЕНА: пре извођења било ког корака, обавезно прочитајте целу лекцију !!

 1. Притисните тастер <Esc> (да се сигурно нађете у Нормалном режиму).

 2. Откуцајте:

    `:q!`{vim} `<Ентер>`{normal}.

     Овим се напушта едитор, уз ОДБАЦИВАЊЕ свих измена које сте направили.

 3. Отворите vim и вратите се назад овде тако што ћете извршити команду која
    вас је и довела у овај приручник. То би могло да буде:

     :Tutor <Ентер>

 4. Ако сте запамтили ове кораке, извршите их редом од 1 до 3 тако да изађете из
    едитора и поново уђете у њега.

НАПОМЕНА: [:q!](:q) <Ентер> ће да одбаци све измене које сте направили. За неколико
          лекција ћете научити како да сачувате измене.

 5. Померите курсор наниже на лекцију 1.3.

# Лекција 1.3: УРЕЂИВАЊЕ ТЕКСТА: БРИСАЊЕ

** Притисните `x`{normal} за брисање карактера под курсором. **

 1. Померите курсор на линију испод означену са ✗.

 2. Да бисте исправили грешке, померајте курсор све док се не нађе на слову које
    треба да се избрише.

 3. Притисните [тастер x](x) да обришете нежељени карактер.

 4. Понављајте кораке 2 до 4 све док реченица није исправна.

РРРибаа рииби гризззе ррреепп.

 5. Сада када је ред исправљен, пређите на лекцију 1.4.

НАПОМЕНА: док користите приручник, немојте учити команде напамет, већ вежбајте
          њихову примену.

# Лекција 1.4: УРЕЂИВАЊЕ ТЕКСТА: УМЕТАЊЕ

** Притисните `i`{normal} да уметнете текст. **

 1. Померите курсор на прву линију испод означену са ✗.

 2. Да бисте текст првог реда исправили тако да буде исти као текст у другом
    реду, поставите курсор на први карактер ИЗА места на које текст треба да се
    уметне.

 3. Притисните `i`{normal} и откуцајте потребно.

 4. Када исправите једну грешку, притисните `<Esc>`{normal} да се вратите у
    Нормални режим. Понављајте кораке 2 до 4 да исправите целу реченицу.

До тека неоје в ред.
Део текста недостаје из овог реда.

 5. Када осетите да поуздано умећете текст, пређите на лекцију 1.5.

# Лекција 1.5: УРЕЂИВАЊЕ ТЕКСТА: НАДОВЕЗИВАЊЕ

** Притисните `A`{normal} за надовезивање текста. **

 1. Померите курсор на прву линију испод означену са ✗. Није важно на ком
    карактеру се курсор налази унутар тог реда.

 2. Притисните [A](A) и откуцајте текст који недостаје.

 3. Када надовежете текст притисните `<Esc>`{normal} да се вратите у Нормални
    режим.

 4. Померите курсор на другу линију означену са ✗ и понављајте кораке 2 и 3 да
    исправите реченицу.

Део текста недостаје у
Део текста недостаје у овом реду.
Део текста недостаје
Део текста недостаје и овде.

 5. Када осетите да поуздано надовезујете текст, пређите на лекцију 1.6.

# Лекција 1.6: УРЕЂИВАЊЕ ФАЈЛА

** Користите `:wq`{vim} да сачувате фајл и изађете из едитора.  **

!! НАПОМЕНА: пре извођења било ког корака, обавезно прочитајте целу лекцију !!

 1. Изађите из приручника као у лекцији 1.2: `:q!`{vim}
    Или, ако имате приступ другом терминалу, ово што следи изведите у њему.

 2. На одзиву љуске откуцајте следећу команду:
~~~ sh
     $ vim tutor
~~~
    'vim' је команда која покреће Vim едитор, 'tutor' је име фајла који желите
    да уређујете. Употребите фајл који може да се мења.

 3. Уметните и обришите текст онако како сте научили у претходним лекцијама.

 4. Сачувајте фајл са изменама и напустите Vim са:
~~~ cmd
     :wq
~~~
    Приметите да је потребно да притиснете `<Ентер>` да би се извршила команда.

 5. Ако сте сте напустили vimtutor у кораку 1, покрените га поново и пређите на
    резиме који следи.

 6. Када прочитате и у потпуности разумете кораке изнад: извршите их.

# РЕЗИМЕ лекције 1

 1. Курсор се помера или стрелицама или тастерима hjkl.
     h (лево)     j (десно)     k (горе)      l (доле)

 2. Да бисте покренули Vim из одзива љуске, откуцајте:

~~~ sh
    $ vim ИМЕФАЈЛА
~~~

 3. Да напустите Vim откуцајте: `<Esc>`{normal} `:q!`{vim} `<Ентер>`{normal} да
    одбаците све измене.
              ИЛИ откуцајте: `<Esc>`{normal} `:wq`{vim} `<Ентер>`{normal} да
    сачувате измене.

 4. Да бисте обрисали карактер на курсору откуцајте: `x`{normal}

 5. Да уметнете или надовежете текст, откуцајте:
    `i`{normal} уметните текст `<Esc>`{normal}     умеће текст испред курсора.
    `A`{normal} надовежите текст `<Esc>`{normal}   надовезује на крај реда.

НАПОМЕНА: притисак на `<Esc>`{normal} вас поставља у Нормални режим или отказује
          нежељену или делимично извршену команду.

Наставите сада са лекцијом 2.

# Лекција 2.1: КОМАНДЕ БРИСАЊА

** Откуцајте `dw`{normal} да обришете реч. **

 1. Притисните `<Esc>`{normal} да се сигурно нађете у Нормалном режиму.

 2. Померите курсор на линију испод, обележену са ✗.

 3. Померите курсор на почетак речи која треба да се обрише.

 4. Откуцајте [d](d)[w](w) да бисте уклонили реч.

Неке речи смешно не припадају на папир овој реченици.

 5. Понављајте кораке 3 и 4 све док не исправите реченицу, па пређите на лекцију
    2.2.

# Лекција 2.2: ЈОШ КОМАНДИ БРИСАЊА

** Откуцајте `d$`{normal} да обришете све до краја реда. **

 1. Притисните `<Esc>`{normal} да се сигурно нађете у Нормалном режиму.

 2. Померите курсор на линију испод, обележену са ✗.

 3. Померите курсор на крај исправног реда (ПОСЛЕ прве . ).

 4. Откуцајте `d$`{normal} да обришете све до краја реда.

Неко је унео крај овог реда двапут. крај овог реда двапут.

 5. Пређите на лекцију 2.3 у којој следи подробније објашњење.

# Лекција 2.3: О ОПЕРАТОРИМА И ПОКРЕТИМА

Многе команде које мењају текст се састоје од [оператора](operator) и [покрета](motion).
Облик команде брисања са [d](d) оператором брисања је следећи:

    d   покрет

  При чему је:
    d      - оператор брисања.
    покрет - оно на чему ће оператор да делује (наведено испод).

  Кратак списак покрета:
    [w](w) - до почетка наредне речи, НЕ УКЉУЧУЈУЋИ њен први карактер.
    [e](e) - до краја текуће речи, УКЉУЧУЈУЋИ последњи карактер.
    [$]($) - до краја линије, УКЉУЧУЈУЋИ последњи карактер.

  Дакле, куцање `de`{normal} ће да обрише текст од курсора до краја речи.

НАПОМЕНА: притиском само на тастер покрета док сте у Нормалном режиму, без
          оператора, курсор се помера на начин који одговара том покрету.

# Лекција 2.4: КОРИШЋЕЊЕ БРОЈАЊА ЗА ПОКРЕТ

** Уношење неког броја пре покрета, он се извршава наведени број пута. **

 1. Поставите курсор на почетак доњег реда означеног са ✓.

 2. Откуцајте `2w`{normal} да померите курсор две речи унапред.

 3. Откуцајте `3e`{normal} да омерите курсор на крај треће наредне речи.

 4. Откуцајте `0`{normal} ([нулу](0)) да померите курсор на почетак реда.

 5. Поновите кораке 2 и 3 са неким другим бројевима.

Реченица са речима по којој можете померати курсор.

 6. Пређите на лекцију 2.5.

# Лекција 2.5: КОРИШЋЕЊЕ БРОЈАЊА ЗА ВЕЋЕ БРИСАЊЕ

** Уношење неког броја с оператором понавља оператор тај број пута. **

Комбинацијом оператора брисања и покрета поменутог изнад, можете унети број
понављања пре покрета да бисте обрисали више:
     d   број   покрет

 1. Померите курсор на прво слово речи исписане ВЕЛИКИМ СЛОВИМА у реду
    означеном са ✗.

 2. Откуцајте `d2w`{normal} да обришете две речи са ВЕЛИКИМ СЛОВИМА

 3. Понављајте кораке 1 и 2 са различитим бројем понављања тако да једном
    командом обришете узастопне речи са ВЕЛИКИМ СЛОВИМА

Овај АБВГД ЂЕЖ ред ЗИЈК ЛЉ МНЊ ОП речи је РСТ ЋУФХЦ исправљен.

# Лекција 2.6: ОПЕРАЦИЈЕ НАД РЕДОВИМА

** Откуцајте `dd`{normal} да обришете цео ред. **

Због учесталости брисања целих редова, аутори програма Vi су дошли до закључка
да је лакше брисати редове ако се d просто откуца двапут.

 1. Померите курсор на други ред у доњој строфи.
 2. Откуцајте [dd](dd) да обришете ред.
 3. Сада се померите на четврти ред.
 4. Откуцајте `2dd`{normal} да обришете два реда.

1) Седло ми је од мараме,
2) блато на све стране,
3) узда од канапа,
4) ауто ми је овде,
5) сатови показују време,
6) а бич ми је од очина
7) пребијена штапа.

# Лекција 2.7: КОМАНДА ЗА ПОНИШТАВАЊЕ

** Притисните `u`{normal} да поништите последње команде, `U`{normal} да исправите цео ред. **

 1. Померите курсор на линију испод, означену са ✗ и поставите га на прву
    грешку.
 2. Откуцајте `x`{normal} да обришете први нежељени карактер.
 3. Сада откуцајте `u`{normal} да поништите последњу извршену команду.
 4. Овај пут исправите све грешке у реду користећи команду `x`{normal}.
 5. Онда откуцајте велико `U`{normal} да ред вратите у првобитно стање.
 6. Онда неколико пута откуцајте `u`{normal} да поништите команду `U`{normal} и претходне команде.
 7. Сада откуцајте `<C-r>`{normal} (Control + R) неколико пута да вратите измене
    (поништите поништавања).

Ииисправите грешке уу оввом реду ии пооништитеее их.

 8. Ово су веома корисне команде. Пређите сада на резиме лекције 2.

# РЕЗИМЕ лекције 2

 1. Да обришете од курсора до наредне речи, откуцајте:    `dw`{normal}
 2. Да обришете од курсора до краја реда, откуцајте:   `d$`{normal}
 3. Да обришете цео ред, откуцајте:                           `dd`{normal}
 4. Да поновите покрет, унесите број испред њега:           `2w`{normal}

 5. Облик команде измене:
               оператор   [број]   покрет
    где је:
       оператор -   представља радњу, рецимо [d](d) за брисање
       [број]   -   необавезан број понављања покрета
       покрет   -   кретање преко текста над којем се ради, на пример:
                        [w](w) (реч),
                        [$]($) (до краја реда), итд.

 6. Да се померите на почетак реда, употребите нулу: [0](0)

 7. Да поништите претходне акције, откуцајте:      `u`{normal}  (мало u)
    Да поништите све измене у реду, откуцајте:     `U`{normal}  (велико U)
    Да вратите измене, откуцајте:                  `<C-r>`{normal}

# Лекција 3.1: КОМАНДА ПОСТАВЉАЊА

** Откуцајте `p`{normal} да поставите претходно обрисани текст иза курсора. **

 1. Померите курсор на први ✓ ред испод.

 2. Откуцајте `dd`{normal} да обришете ред и да га сместите у Vim регистар.

 3. Померите курсор на ред c), ИЗНАД места где треба поставити избрисани ред.

 4. Откуцајте `p`{normal} да поставите ред испод курсора.

 5. Понављајте кораке 2 до 4 да поставите све линије у правилном редоследу.

г) пребијена штапа.
б) узда од канапа,
в) а бич ми је од очина
а) Седло ми је од мараме,

# Лекција 3.2: КОМАНДА ЗАМЕНЕ

** Откуцајте `rx`{normal} да карактер испод курсора замените са x. **

 1. Померите курсор на први наредни ред обележен са ✗.

 2. Померите курсор тако да се нађе на првој грешки.

 3. Откуцајте `r`{normal} па затим карактер који би ту требало да буде.

 4. Понављајте кораке 2 и 3 све док први ред не постане исти као други.

Кеди ју овеј ред угашен, нако је протресао пусташне тестере!
Када је овај ред уношен, неко је притискао погрешне тастере!

 5. Сада пређите на лекцију 3.3.

НАПОМЕНА: упамтите да је потребно да учите вежбањем, а не памћењем.

# Лекција 3.3: ОПЕРАТОР ИЗМЕНЕ

** Да измените текст до краја речи, откуцајте `ce`{normal}.  **

 1. Померите курсор на први следећи ред означен са ✗.

 2. Поставите курсор на „а” у „ракдур”.

 3. Откуцајте `ce`{normal} и исправите реч (у овом случају, откуцајте „ед”).

 4. Притисните `<Esc>`{normal} и померите курсор на наредни карактер који треба
    исправити.

 5. Понављајте кораке 3 и 4 све док прва реченица не буде иста као друга.

Овај ракдур има неколико рејга које трефља испрпикати операгром измене.
Овај ред има неколико речи које треба исправити оператором измене.

Уочите да [c](c)e брише реч и поставља едитор у режим Уметање.

# Лекција 3.4: ЈОШ ИЗМЕНА УПОТРЕБОМ `c`{normal}

** Оператор измене се користи са истим покретима као и оператор брисања. **

 1. Оператор измене функционише на исти начин као и оператор брисања. Облик је
    следећи:

         c    [број]   покрет

 2. Покрети су исти, рецимо `w`{normal} (реч) и `$`{normal} (крај реда).

 3. Померите курсор на први следећи ред означен са ✗.

 4. Померите курсор на прву грешку.

 5. Откуцајте `c$`{normal} и унесите остатак реда тако да буде исти као други
    ред, па притисните `<Esc>`{normal}.

Крај овог реда треба изменити тако да изгледа као ред испод.
Крај овог реда треба исправити коришћењем `c$`{normal} команде.

НАПОМЕНА: за исправљање грешака током куцања, можете користити тастер брисања у
          лево.

# РЕЗИМЕ лекције 3

 1. За постављање текста који сте управо обрисали, притисните [p](p). Ово
    обрисани текст поставља непосредно ИЗА курсора (ако је био обрисан један
    или више редова, садржај ће доћи на ред испод курсора).

 2. Да замените карактер под курсором, откуцајте [r](r) па затим карактер који
    желите на том месту.

 3. [Оператор измене](c) вам дозвољава промену текста од курсора до позиције на
    којој се завршава покрет. Примера ради, откуцајте `ce`{normal} да измените
    текст од позиције курсора до краја речи, `c$`{normal} да измените до краја
    реда.

 4. Облик операције измене је:

     c   [број]   покрет

Пређите сада на наредну лекцију.

# Лекција 4.1: ПОЗИЦИЈА КУРСОРА И СТАТУС ФАЈЛА

** Притисните `<C-g>`{normal} да вам се прикаже позиција курсора у фајлу и
 статус фајла. Притисните `G`{normal} да се померите на неки ред у фајлу.  **

НАПОМЕНА: прочитајте целу лекцију пре извођења било ког корака!!

 1. Држите тастер `<Ctrl>`{normal} и притисните `g`{normal}. Ово зовемо `<C-g>`{normal}. Едитор ће на дну
    екрана исписати поруку са именом фајла и позицијом курсора у фајлу.
    Запамтите број реда за корак 3.

НАПОМЕНА: у доњем десном углу може се видети позиција курсора ако је укључена
          опција ['ruler']('ruler').

 2. Притисните [G](G) да се померите на крај фајла.
    Откуцајте [gg](gg) да се преместите на почетак фајла.

 3. Откуцајте број реда на коме сте били малопре, па онда `G`{normal}. Курсор ће се
    вратити на ред у којем је био када сте притиснули `<C-g>`{normal}.

 4. Ако се осећате спремним, извршите кораке 1 до 3.

# Лекција 4.2: КОМАНДА ПРЕТРАЖИВАЊА

** Откуцајте `/`{normal} па израз који желите да пронађете. **

 1. У Нормалном режиму откуцајте карактер `/`{normal}. Приметите да се он и
    курсор појављују на дну екрана као и `:`{normal} команда.

 2. Сада откуцајте ’грррешка’ `<Enter>`{normal}. Ово је реч коју желите да
    пронађете.

 3. За поновно тражење истог израза, једноставно притисните [n](n).
    За тражење истог израза у супротном смеру, притисните [N](N).

 4. За тражење израза унатраг, употребите [?](?) уместо `/`{normal}.

 5. За повратак на претходну позицију са које сте скочили, притисните `<C-o>`{normal}
    (држите притиснут тастер `<Ctrl>`{normal} док притискате слово `o`{normal}). Понављајте
    за раније позиције. `<C-i>`{normal} иде унапред.

„грррешка” је погрешно; уместо грррешка треба да стоји грешка.

НАПОМЕНА: ако претрага дође до краја текста, тражење ће се наставити од његовог
          почетка, осим ако је опција ['wrapscan']('wrapscan') искључена.

# Лекција 4.3: ТРАЖЕЊЕ ПАРА ЗАГРАДЕ

** Откуцајте `%`{normal} да пронађете пар  ),], или }. **

 1. Поставите курсор на било коју (, [, или { отворену заграду у реду испод
    означеном са ✓.

 2. Откуцајте сада карактер [%](%).

 3. Курсор ће се померити на одговарајућу затворену заграду.

 4. Откуцајте `%`{normal} да померите курсор на другу заграду пара.

 5. Померите курсор на неку од осталих (,),[,],{ or } и проверите шта ради `%`{normal}.

Ред ( тестирања обичних ( [ угластих ] и { витичастих } заграда.))

НАПОМЕНА: ово је врло корисно у исправљању кода са распареним заградама!

# Лекција 4.4: КОМАНДА ЗАМЕНЕ

** Откуцајте `:s/старо/ново/g` да замените „старо” са „ново”. **

 1. Померите курсор на ред испод означен са ✗.

 2. Откуцајте
~~~ cmd
    :s/рди/ри/
~~~

    ПРИМЕТИТЕ да је команда [:s](:s) заменила само прво појављивање „рди” у реду.

 3. Откуцајте сада
~~~ cmd
     :s/рди/ри/g
~~~

    Додавање [заставице](:s_flags) g значи да ће команда функционисати у целом
    реду, замењујући сва појављивања „рди” у њему.

Рдиба рдиби грдизе реп.

 4. Да замените сва појављивања низа карактера између нека два реда, откуцајте
~~~ cmd
     :#,#s/старо/ново/g
~~~
    где су #,# крајњи бројеви редова у опсегу у којем треба да се изврши
    замена.

    Откуцајте
~~~ cmd
    :%s/старо/ново/g
~~~
    да замените сва појављивања у целом фајлу.

    Откуцајте
~~~ cmd
    :%s/старо/ново/gc
~~~
    да пронађете сва појављивања у целом фајлу, уз приказивање питања за свако
    од њих, да ли извршити замену или не.

# РЕЗИМЕ лекције 4

 1. `<C-g>`{normal}     приказује позицију курсора у тексту и статус фајла.
    `G`{normal}         помера курсор на крај фајла.
    број `G`{normal}    помера курсор на наведени ред.
    `gg`{normal}        помера курсор на први ред.

 2. Куцањем `/`{normal} након чека следи израз, тражи се УНАПРЕД тај израз.
    Куцањем `?`{normal} након чека следи израз, тражи се УНАЗАД тај израз.
    Након претраге, користите `n`{normal} да пронађете наредно појављивање у
    истом смеру, или `N`{normal} да га пронађете у супротном смеру.
    `<C-o>`{normal} вас води на раније позиције, `<C-i>`{normal} на новије позиције.

 3. Када се курсор налази на (,),[,],{, или }, куцање `%`{normal} помера курсор на њен
    пар.

 4. Да замените први израз старо у линији, откуцајте
~~~ cmd
        :s/старо/ново
~~~
    Да замените сва појављивања старо са ново у линији, откуцајте
~~~ cmd
        :s/старо/ново/g
~~~
    Да замените сва појављивања у опсегу редова #, откуцајте
~~~ cmd
        :#,#s/старо/ново/g
~~~
    Да замените сва појављивања у целом фајлу, откуцајте
~~~ cmd
        :%s/старо/ново/g
~~~
    За затражите потврду сваке замене, додајте заставицу ’c’
~~~ cmd
        :%s/старо/ново/gc
~~~

# Лекција 5.1: КАКО СЕ ИЗВРШАВА СПОЉНА КОМАНДА

** Откуцајте `:!`{vim} па име спољне команде коју желите да извршите. **

 1. Откуцајте познату команду `:`{normal} да поставите курсор на дно екрана.
    На тај начин можете да унесете команду командне-линије.

 2. Откуцајте сада [!](!cmd) (узвичник). Ово вам омогућава да извршите било коју
    спољну команду љуске.

 3. Као пример, откуцајте „ls” након „!”, па притисните `<Enter>`{normal}.
    Ово ће вам приказати садржај директоријума, као да сте у одзиву љуске.

НАПОМЕНА: На овај начин може да се изврши било која спољна команда, заједно са
          аргументима.

НАПОМЕНА: Све `:`{vim} команде морају да се заврше притиском на `<Enter>`{normal}.
          У даљем тексту то нећемо увек напомињати.

# Лекција 5.2: ВИШЕ О ЧУВАЊУ ФАЈЛОВА

** За чување измена над текстом, откуцајте `:w`{vim} ИМЕ_ФАЈЛА. **

 1. Откуцајте `:!ls`{vim} да видите садржај директоријума.
    Већ знате да морате притиснути `<Enter>`{normal} након тога.

 2. Изаберите име фајла које још увек не постоји, нпр. TEST.

 3. Сада откуцајте:
~~~ cmd
        :w TEST
~~~
   (где је тест TEST име фајла које сте изабрали)

 4. На овај начин чувате цео фајл (Vim тутор) под именом TEST.
    Да бисте то проверили, откуцајте поново `:!ls`{vim} да погледате директоријум.

НАПОМЕНА: Ако бисте напустили Vim и покренули га поново са `vim TEST`, фајл би
          био тачна копија овог фајла у тренутку када сте га сачували.

 5. Избришите сада фајл тако што ћете откуцати:
~~~ cmd
        :!rm TEST
~~~

# Лекција 5.3: ЧУВАЊЕ ОЗНАЧЕНОГ ТЕКСТА

** Да бисте сачували део фајла, откуцајте `v`{normal} покрет `:w ИМЕ_ФАЈЛА`{vim}. **

 1. Померите курсор на ову линију.

 2. Притисните [v](v) и померите курсор пет редова наниже. Приметите да је текст
    истакнут.

 3. Притисните карактер `:`{normal}. Појавиће се

        :'<,'>

    на дну екрана.

 4. Откуцајте

        `:w TEST`{vim}

    где је TEST име фајла који још увек не постоји. Проверите да заиста пише

        `:'<,'>w TEST`{vim}

    пре него што притиснете `<Enter>`{normal}.

 5. Vim ће сачувати означене редове у фајл TEST. Употребите `:!ls`{vim} да то
    проверите. Не бришите га још! Користићемо га у следећој лекцији.

НАПОМЕНА: Притисак на [v](v) покреће [Визуелни избор](visual-mode). Можете да померате курсор
          наоколо и тако мењате величино изабраног текста. Затим можете да
          употребите операторе над тим текстом. На пример, `d`{normal} ће да избрише
          текст.

# Лекција 5.4: УЧИТАВАЊЕ ФАЈЛОВА У ТЕКСТ

** Да садржај фајла уметнете у текст, откуцајте `:r ИМЕ_ФАЈЛА`{vim}. **

 1. Поставите курсор непосредно изнад ове линије.

НАПОМЕНА: Када извршите корак 2, видећете текст из лекције 5.3. Затим померите
          курсор НАНИЖЕ да бисте поново видели ову лекцију.

 2. Учитајте сада фајл TEST користећи команду

        `:r TEST`{vim}

     где је TEST име фајла које сте користили у претходној лекцији. Садржај
     учитаног фајла је убачен испод курсора.

 3. Да бисте потврдили да је фајл учитан, вратите курсор уназад и уочите да
    постоје две копије лекције 5.3, оригинална и она из фајла.

НАПОМЕНА: Такође можете и да учитате и излаз спољне команде. На пример,

        `:r !ls`{vim}

      учитава излаз команде `ls` и поставља га испод курсора.

# РЕЗИМЕ лекције 5

 1. [:!команда](:!cmd) извршава спољну команду.

     Корисни примери:
     `:!ls`{vim}              -  приказује садржај директоријума
     `:!rm ИМЕ_ФАЈЛА`{vim}    -  уклања ИМЕ_ФАЈЛА

 2. [:w](:w) ИМЕ_ФАЈЛА             уписује текући Vim фајл на диск под именом
                             ИМЕ_ФАЈЛА.

 3. [v](v)  покрет  :w ИМЕ_ФАЈЛА  чува Визуелно изабране линије у фајл
                             ИМЕ_ФАЈЛА.

 4. [:r](:r) ИМЕ_ФАЈЛА             учитава фајл ИМЕ_ФАЈЛА са диска и поставља
                             његов садржај испод позиције курсора.

 5. [:r !dir](:r!)                  чита излаз dir команде и поставља га испод
                             позиције курсора.

# Лекција 6.1: КОМАНДА ОТВОРИ

** Откуцајте `o`{normal} да отворите ред испод курсора и пређете у режим Уметање. **

 1. Померите курсор на линију испод означену са ✓.

 2. Откуцајте мало слово `o`{normal} да [отворите](o) нови ред ИСПОД курсора и пређете
    у режим Уметање.

 3. Сада откуцајте неки текст и притисните `<Esc>`{normal} да напустите режим
    Уметање.

Када притиснете `o`{normal} курсор прелази у новоотворени ред у режиму Уметање.

 4. Да бисте линију отворили ИЗНАД курсора, уместо малог `o`{normal} откуцајте [велико O](O).
    Пробајте ово у реду испод.

Отворите ред изнад овог куцањем великог O док је курсор у овом реду.

# Лекција 6.2: КОМАНДА НАДОВЕЗИВАЊА

** Откуцајте `a`{normal} да уметнете текст ИЗА курсора. **

 1. Померите курсор на почетак следећег реда означеног са ✗.

 2. Притискајте `e`{normal} све док се курсор не нађе на крају речи „ре”.

 3. Откуцајте мало `a`{normal} да [append-надовежете](a) текст ИЗА курсора.

 4. Допуните реч као што је приказано у реду испод њега. Притисните `<Esc>`{normal} да
    напустите режим Уметање.

 5. Употребите `e`{normal} да се померите на наредну непотпуну реч и поновите кораке 3
    и 4.

Овај ре омогућава ве надов текста у неком реду.
Овај ред омогућава вежбање надовезивања текста у неком реду.

НАПОМЕНА: Команде [a](a), [i](i) и [A](A) све активирају исти режим Уметање, једина разлика
          је у позицији од које се умећу нови карактери.

# Лекција 6.3: ДРУГИ НАЧИН ЗА ЗАМЕНУ

** Откуцајте велико `R`{normal} да замените више од једног карактера. **

 1. Померите курсор на први наредни ред означен са ✗. Померите курсор на
    почетак првог „xxx”.

 2. Сада притисните `R`{normal} ([велико R](R)) и откуцајте број који се налази испод, у
    наредном реду, тако да замени „xxx”.

 3. Притисните `<Esc>`{normal} да напустите [режим Замена](mode-replace). Приметите да остатак реда
    остаје неизмењен.

 4. Поновите кораке да замените и друго „xxx”.

Додавање 123 на xxx даје xxx.
Додавање 123 на 456 даје 579.

НАПОМЕНА: Режим Замена је исти као режим Уметање, само што сваки откуцани
          карактер брише постојећи карактер.

# Лекција 6.4: КОПИРАЊЕ И НАЛЕПЉИВАЊЕ ТЕКСТА

** Користите оператор `y`{normal} да копирате текст, а `p`{normal} да га налепите. **

 1. Померите курсор наниже на линију означену са ✓ и поставите курсор након „а)”.

 2. Покрените Визуелни режим са `v`{normal} и померите курсор непосредно испред „први”.

 3. Откуцајте `y`{normal} да [yank-тргнете](yank) (копирате) истакнути текст.

 4. Померите курсор до краја наредног реда: `j$`{normal}

 5. Притисните `p`{normal} да [put-поставите](put) (налепите) текст.

 6. Притисните `a`{normal} па откуцајте „други”. Притисните `<Esc>`{normal} да напустите
    режим Уметање.

 7. Употребите Визуелни режим да изаберете „ред.”, тргните га са `y`{normal}, померите
    курсор на крај наредног реда са `j$`{normal} и тамо налепите текст са `p`{normal}

а) Ово је први ред.
б)

НАПОМЕНА: `y`{normal} можете да користите и као оператор: `yw`{normal} ће да тргне једну реч.

# Лекција 6.5: ПОСТАВЉАЊЕ ОПЦИЈА

** Поставите опцију тако да претрага и замена игноришу величину слова.  **

 1. Потражите реч ’разлика’ са: `/разлика`
    Поновите неколико пута притиском на `n`{normal}.

 2. Поставите опцију 'ic' (Ignore case) тако што унесете:
~~~ cmd
        :set ic
~~~
 3. Сада поново потражите реч ’разлика’ притиском на `n`{normal}.
    Уочите да се сада проналазе и Разлика и РАЗЛИКА.

 4. Поставите опције 'hlsearch' и 'incsearch':
~~~ cmd
        :set hls is
~~~
 5. Сада откуцајте поново команду претраге и уочите шта се дешава: /разлика <Enter>

 6. Поново искључите игнорисање разлике у величини слова:
~~~ cmd
        :set noic
~~~
 7. Ако желите да промените стање опције, ставите испред „inv” испред њеног имена:
~~~ cmd
        :set invic
~~~
НАПОМЕНА: Да уклоните истицање подударања, унесите:
~~~ cmd
        :nohlsearch
~~~
НАПОМЕНА: Ако желите да се не прави разлика у величини слова само за једну
          команду претраге, употребите [\c](/\c) у изразу: /игнориши\c <Enter>

# РЕЗИМЕ лекције 6

 1. Притисните `o`{normal} да отворите ред ИСПОД курсора и покренете режим Уметање.
    Притисните `O`{normal} да отворите ред ИЗНАД курсора.

 2. Притисните `a`{normal} да уметнете текст ИЗА курсора.
    Притисните `A`{normal} да уметнете текст на крај реда.

 3. Команда `e`{normal} помера курсор на крај речи.

 4. Оператор `y`{normal} копира текст, `p`{normal} га налепљује.

 5. Куцање великог `R`{normal} активира режим Замена све док се не притисне `<Esc>`{normal}.

 6. Куцање „[:set](:set) xxx” поставља опцију „xxx”. Неке од опција су:

        'ic' 'ignorecase'   не разликују се велика/мала слова током претраге
        'is' 'incsearch'    приказују се делимична подударања израза претраге
        'hls' 'hlsearch'    истичу се сви пронађени изрази

     Можете да користите или кратко или дуго име опције.

 7. Ставите „no” испред имена опције да је искључите:
~~~ cmd
        :set noic
~~~
 8. Ставите „inv” да промените стање опције:
~~~ cmd
        :set invic
~~~

# Лекција 7.1: ДОБИЈАЊЕ ПОМОЋИ

** Користите систем директне помоћи. **

Vim има детаљни систем директне помоћи. За почетак, покушајте нешто од следећег:
    - притисните тастер `<HELP>`{normal} (ако га имате на тастатури)
    - притисните тастер `<F1>`{normal} (ако га имате на тастатури)
    - откуцајте
        `:help`{vim}

Прочитајте текст у прозору помоћи да сазнате начин на који помоћ ради.
Откуцајте `<C-w><C-w>`{normal} да прелазите из једног прозора у други.
Откуцајте `:q`{vim} да затворите прозор помоћи.

Помоћ о практично било којој теми можете добити додавањем аргумента команди
„:help”. Покушајте следеће (не заборавите да притиснете <Enter> на крају):
~~~ cmd
    :help w
    :help c_CTRL-D
    :help insert-index
    :help user-manual
~~~
# Лекција 7.2: ПРАВЉЕЊЕ СКРИПТЕ ЗА ПОКРЕТАЊЕ

** Активирајте Vim могућности. **

Vim има много више могућности него Vi, али је већина њих подразумевано
искључена. Да бисте укључили још функционалности, морате да креирате „vimrc”
фајл.

 1. Започните уређивање „vimrc” фајла. То зависи од вашег система:
    за UNIX системе           за Windows
    `:e ~/.vimrc`{vim}               `:e ~/_vimrc`{vim}

 2. Сада учитајте садржај „vimrc” фајла за пример:
    `:r $VIMRUNTIME/vimrc_example.vim`{vim}

 3. Сачувајте фајл са:
    `:w`{vim}

  Следећи пут када покренете Vim користиће се истицање синтаксе.
  У овај „vimrc” фајл можете додати сва подешавања која желите.
  За више информација откуцајте `:help vimrc-intro`{vim}.

# Lesson 7.3: АУТОМАТСКО ДОВРШАВАЊЕ

** Довршавање команде линије са `<C-d>`{normal} и `<Tab>`{normal}. **

 1. Погледајте који фајлови постоје у директоријуму: `:!ls`{vim}

 2. Откуцајте почетак команде: `:e`{vim}

 3. Притисните `<C-d>`{normal} и Vim ће вам приказати списак команди које почињу на
    „e”.

 4. Притисните `<Tab>`{normal} и Vim ће да прикаже мени са могућим довршавањима
    (или да доврши подударање ако је унета команда јединствена, нпр.
    „:ed`<Tab>`{normal}” ће се довршити на „:edit”).

 5. Употребите `<Tab>`{normal} или `<C-n>`{normal} да одете на наредно подударање.
    Или употребите `<S-Tab>`{normal} или `<C-p>`{normal} да одете на претходно
    подударање.

 6. Изаберите ставку `edit`{vim}. Сада можете видети да је реч `edit`{vim}
    аутоматски унета у командну линију.

 7. Сада додајте размак и почните да пишете име постојећег фајла: `:edit FIL`{vim}

 8. Притисните `<Tab>`{normal}. Vim ће да прикаже мени довршавања са листом
    фајлова чије име почиње на `FIL`

НАПОМЕНА: Довршавање функционише за многе команде. Нарочито је корисно за
          `:help`{vim}.

# РЕЗИМЕ лекције 7

 1. Откуцајте `:help`{vim}
    или притисните `<F1>`{normal} или `<Help>`{normal} да отворите прозор помоћи.

 2. Откуцајте `:help ТЕМА`{vim} да пронађете помоћ о ТЕМА.

 3. Откуцајте `<C-w><C-w>`{normal} да пређете у други прозор

 4. Откуцајте `:q`{vim} да затворите прозор помоћи

 5. Направите vimrc скрипту за покретање у којој чувате ваша омиљена подешавања.

 6. Док се налазите у командном режиму, притисните `<C-d>`{normal} да видите сва могућа
    довршавања. Притисните `<Tab>`{normal} да изаберете једно од њих.

# ЗАКЉУЧАК

Овим се завршава Прво поглавље Vim приручника. Ако желите, можете да наставите са
[Другим поглављем](@tutor:vim-02-beginner).

Циљ овог поглавља је био кратак преглед Vim едитора, колико да вам омогући да
га релативно једноставно користите. Оно дефинитивно није потпуно, јер Vim има
много, много више команди. Консултујте помоћ често.

На мрежи постоји много ресурса помоћу којих можете више да научите о Vim
едитору. Ево неколико:

- *Learn Vim Progressively*: http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/
- *Learning Vim in 2014*: http://benmccormick.org/learning-vim-in-2014/
- *Vimcasts*: http://vimcasts.org/
- *Vim Video-Tutorials by Derek Wyatt*: http://derekwyatt.org/vim/tutorials/
- *Learn Vimscript the Hard Way*: http://learnvimscriptthehardway.stevelosh.com/
- *7 Habits of Effective Text Editing*: http://www.moolenaar.net/habits.html
- *vim-galore*: https://github.com/mhinz/vim-galore

Ако вам више одговара књига, често се препоручују *Practical Vim* и наставак
*Modern Vim* аутора Дру Нила.

Овај приручник су написали Мајкл С. Пирс и Роберт К. Вер, Колорадо рударска
школа, користећи идеје које је доставио Чарлс Смит из Колорадо државног
универзитета. И-мејл: bware@mines.colorado.edu.

Прилагодио за Vim Брам Моленар.
Прилагодио за vim-tutor-mode Фелипе Моралес.

Превод на српски: Иван Нејгебауер <ian@uns.ac.rs>
Верзија 1.0, мај/јуни 2014.
Прилагодио и дорадио за vim-tutor-mode Иван Пешић.