#             Добродошли   у   VIM   приручник

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

За сада, ако је Caps Lock укључен ИСКЉУЧИТЕ га. Притисните тастер ј довољно пута
тако да цела лекција 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} `<Enter>`{normal}.

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

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

     :Tutor <Enter>

 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} `<Enter>`{normal} да
    одбаците све измене.
              ИЛИ откуцајте: `<Esc>`{normal} `:wq`{vim} `<Enter>`{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)  Sedlo mi je od marame,
2)  blato na sve strane,
3)  uzda od kanapa,
4)  auto mi je ovde,
5)  satovi pokazuju vreme,
6)  a bič mi je od očina
7)  prebijena štapa.

# Лекција 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” фајла.
    `:call mkdir(stdpath('config'),'p')`{vim}
    `:exe 'edit' stdpath('config').'/init.vim'`{vim}

 2. Сачувајте фајл са:
    `:w`{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 ће да доврши име команде на „:edit”.

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

 6. Притисните `<Tab>`{normal}. Vim ће довршити име (ако је јединствено).

НАПОМЕНА: Довршавање функционише за многе команде. Нарочито је корисно за
      `    :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 едитора, колико да вам омогући да
га релативно једноставно користите. Он дефинитивно није потпун, јер 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 Иван Пешић.
