diff --git a/Filelist b/Filelist index f2797efe2f..7d18e9463f 100644 --- a/Filelist +++ b/Filelist @@ -1082,6 +1082,8 @@ LANG_GEN = \ runtime/tutor/it/vim-01-beginner.tutor.json \ runtime/tutor/sr/vim-01-beginner.tutor \ runtime/tutor/sr/vim-01-beginner.tutor.json \ + runtime/tutor/sr/vim-02-beginner.tutor \ + runtime/tutor/sr/vim-02-beginner.tutor.json \ runtime/tutor/tutor1.?? \ runtime/tutor/tutor1.??.utf-8 \ runtime/tutor/tutor1.??.euc \ diff --git a/runtime/tutor/sr/vim-02-beginner.tutor b/runtime/tutor/sr/vim-02-beginner.tutor new file mode 100644 index 0000000000..be618c66e2 --- /dev/null +++ b/runtime/tutor/sr/vim-02-beginner.tutor @@ -0,0 +1,203 @@ +# Добродошли у VIM приручник + +# ДРУГО ПОГЛАВЉЕ + + Ево змајева: ако је ово ваш први додир са програмом vim и намеравали + сте да уроните у уводно поглавље, молимо вас да на командној линији + Vim едитора откуцате +~~~ cmd + :Tutor vim-01-beginner +~~~ + или само отворите [прво поглавље](@tutor:vim-01-beginner) приручника на линку. + + Приближно време потребно за успешан завршетак овог поглавља је + између 8 и 10 минута, у зависности од времена потрошеног на + експериментисање. + + +# Лекција 2.1.1: ИМЕНОВАНИ РЕГИСТРИ + +** Сачувајте истовремено две тргнуте речи, па их налепите ** + + 1. Померите курсор на линију испод обележену са ✓ + + 2. Поставите се на било које слово речи ’Пера’ и откуцајте `"ayiw`{normal} + +**ПАМЋЕЊЕ** *у регистар(”) (а) (y)ank [тргни] (i)nner [унутрашњу] (w)ord [реч]* + + 3. Поставите се унапред на реч ’колачића’ (`fk`{normal} или `$B`{normal} + или `/ко`{normal} `<ЕНТЕР>`{normal}) и откуцајте `"byiw`{normal} + + 4. Поставите се на било које слово речи ’Жика’ и откуцајте `ciwa`{normal} + +**ПАМЋЕЊЕ**: *(c)hange [измени] (i)nner [унутрашњу] (w)ord [реч] са <садржајем +(r)егистра> (a)* + + 5. Поставите се на било које слово речи ’торте’ и откуцајте `ciwb`{normal} + + +а) Од сада ће Пера бити задужен за следовања колачића +б) У том смислу, Жика ће самостално одлучивати о судбини торте + +НАПОМЕНА: У регистре може и да се брише, нпр. `"sdiw`{normal} ће обрисати + реч под курсором у регистар s. + +РЕФЕРЕНЦЕ: [Регистри](registers) + [Именовани регистри](quotea) + [Покрети](text-objects) + [CTRL-R](i_CTRL-R) + + +# Лекција 2.1.2: РЕГИСТАР ИЗРАЗА + +** Умећите резултате израчунавања „у лету” ** + + 1. Померите курсор на линију испод обележену са ✗ + + 2. Поставите се на било коју цифру броја у њој + + 3. Откуцајте `ciw=`{normal}60\*60\*24 `<ЕНТЕР>`{normal} + + 4. У наредној линији, пређите у режим уметање и додајте данашњи датум + помоћу `=`{normal}`system('date')`{vim} `<ЕНТЕР>`{normal} + +НАПОМЕНА: Сви позиви оперативном систему зависе од система на којем се + извршавају, нпр. на Windows употребите `system('date /t’)`{vim} или + `:r!date /t`{vim} + +Заборавио сам колико секунди има у дану, 84600 је л’ да? +Данас је: + +НАПОМЕНА: исто може да се постигне са `:pu=`{normal}`system('date')`{vim} + или, са мање притисака на тастере `:r!date`{vim} + +РЕФЕРЕНЦА: [Регистар израза](quote=) + + +# Лекција 2.1.3: БРОЈЧАНИ РЕГИСТРИ + +** Притискајте `yy`{normal} и `dd`{normal} и уочите ефекат који имају на регистре ** + + 1. Померите курсор на линију испод обележену са ✓ + + 2. тргните нулту линију, па затим погледајте садржаје регистара са + `:reg`{vim} `<ЕНТЕР>`{normal} + + 3. обришите линију 0. са `"cdd`{normal}, па затим погледајте садржаје регистара + (где очекујете да видите линију 0?) + + 4. наставите да бришете сваку наредну линију, посматрајући успут регистре `:reg`{vim} + +НАПОМЕНА: требало би да приметите како се брисања целих линија померају низ + листу након додавања нових обрисаних линија + + 5. Сада (p)aste [налепите] следеће регистре у редоследу: + c, 7, 4, 8, 2. тј. са `"7p`{normal} + + +0. Ово +9. лелујаво +8. тајна +7. је +6. на +5. оси +4. једна +3. ратна +2. порука +1. поштовања + + +НАПОМЕНА: брисања комплетних линија (dd) много дуже остају у бројчаним + регистрима у односу на тргања целих линија или брисања која + користе мање покрете + +РЕФЕРЕНЦА: [Бројчани регистри](quote0) + + +# Лекција 2.1.4: ЛЕПОТА МАРКЕРА + +** Избегавање аритметике код неискусних програмера ** + +НАПОМЕНА: уобичајен проблем приликом писања кода је премештање великих + делова кода. Следећа техника помаже да се спречи потреба за + израчунавањима броја линије који је потребан у операцијама као што + су `"a147d`{normal} или `:945,1091d a`{vim} или још горе, првобитном употребом + `i=`{normal}1091-945 `<ЕНТЕР>`{normal} + + 1. Померите курсор на линију испод обележену са ✓ + + 2. Пређите на прву линију функције и маркирајте је са `ma`{normal} + +НАПОМЕНА: тачна позиција унутар линије НИЈЕ битна! + + 3. Померите се на крај линије и онда на крај блока кода са `$%`{normal} + + 4. Обришите блок у регистар са `"ad'a`{normal} + +**ПАМЋЕЊЕ**: *у регистар(") (a) постави (d)eletion [брисање] од курсора до + ЛИНИЈЕ која садржи маркер(') (a)* + + 5. Налепите блок између BBB и CCC са `"ap`{normal} + +НАПОМЕНА: вежбајте више пута ову операцију да би вам постала природна `ma$%"ad'a`{normal} + +~~~ cmd +AAA +function itGotRealBigRealFast() { + if ( somethingIsTrue ) { + doIt() + } + // таксономија наше функције се изменила па више нема + // азбучног смисла на својој тренутној позицији + + // замислите стотине линија кода + + // наивно бисте се померили на почетак и крај и записали или + // запамтили оба броја линије +} +BBB +CCC +~~~ + +НАПОМЕНА: маркери и регистри не деле простор имена, тако да је регистар а + потпуно независан од маркера а. Ово није случај са регистрима и + макроима. + +РЕФЕРЕНЦЕ: [Маркери](marks) + [Покрети маркера](mark-motions) (разлика између ' и \`) + + +# РЕЗИМЕ лекције 2.1 + + 1. Да сачувате (тргнете, обришете) текст у, и вратите (налепите) из, укупно + 26 регистара (a-z) + 2. Тргните целу реч са било које позиције унутар речи: `yiw`{normal} + 3. Измените целу реч са било које позиције унутар речи: `ciw`{normal} + 4. Уметните текст директно из регистра у режиму уметање: `a`{normal} + + 5. Уметните резултате простих аритметичких операција: + `=`{normal}60\*60 `<ЕНТЕР>`{normal} у режиму уметања + 6. Уметните резултате системских позива: + `=`{normal}`system('ls -1')`{vim} у режиму уметања + + 7. Погледајте садржај регистара са `:reg`{vim} + 8. Научите крајње одредиште брисања комплетних линија: `dd`{normal} у + бројчане регистре, тј. опадајући од регистра 1 - 9. Имајте на уму да + се брисања целих линија одржавају у регистрима дуже од било које друге + операције + 9. Научите крајња одредишта свих тргања у бројчане регистре и колико се + тамо задржавају + + 10. Постављајте маркере из командног режима `m[a-zA-Z0-9]`{normal} + 11. Премештајте по линијама на маркер са `'`{normal} + + +# ЗАКЉУЧАК + + Овим се завршава друго поглавље Vim приручника. Још увек се ради на њему. + + Ово поглавље је написао Пол Д. Паркер. + + Изменио за vim-tutor-режим Restorer + + Превео на српски Иван Пешић. diff --git a/runtime/tutor/sr/vim-02-beginner.tutor.json b/runtime/tutor/sr/vim-02-beginner.tutor.json new file mode 100644 index 0000000000..33db745dff --- /dev/null +++ b/runtime/tutor/sr/vim-02-beginner.tutor.json @@ -0,0 +1,10 @@ +{ + "expect": { + "39": -1, + "40": "б) У том смислу, Пера ће самостално одлучивати о судбини колачића", + "68": "Заборавио сам колико секунди има у дану, 86400 је л’ да?", + "69": -1, + "98": -1, + "145": -1 + } +}