forked from aniani/vim
		
	
		
			
	
	
		
			204 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			204 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #             Добродошли   у   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. Поставите се на било које слово речи ’Жика’ и откуцајте `ciw<CTRL-r>a<ESC>`{normal} | |||
|  | 
 | |||
|  | **ПАМЋЕЊЕ**: *(c)hange [измени] (i)nner [унутрашњу] (w)ord [реч] са <садржајем | |||
|  | (r)егистра> (a)* | |||
|  | 
 | |||
|  |   5. Поставите се на било које слово речи ’торте’ и откуцајте `ciw<CTRL-r>b<ESC>`{normal} | |||
|  | 
 | |||
|  | 
 | |||
|  | а) Од сада ће Пера бити задужен за следовања колачића | |||
|  | б) У том смислу, Жика ће самостално одлучивати о судбини торте | |||
|  | 
 | |||
|  | НАПОМЕНА: У регистре може и да се брише, нпр. `"sdiw`{normal} ће обрисати | |||
|  |           реч под курсором у регистар s. | |||
|  | 
 | |||
|  | РЕФЕРЕНЦЕ: [Регистри](registers) | |||
|  |            [Именовани регистри](quotea) | |||
|  |            [Покрети](text-objects) | |||
|  |            [CTRL-R](i_CTRL-R) | |||
|  | 
 | |||
|  | 
 | |||
|  | # Лекција 2.1.2: РЕГИСТАР ИЗРАЗА | |||
|  | 
 | |||
|  | ** Умећите резултате израчунавања „у лету” ** | |||
|  | 
 | |||
|  |   1. Померите курсор на линију испод обележену са ✗ | |||
|  | 
 | |||
|  |   2. Поставите се на било коју цифру броја у њој | |||
|  | 
 | |||
|  |   3. Откуцајте `ciw<CTRL-r>=`{normal}60\*60\*24 `<ЕНТЕР>`{normal} | |||
|  | 
 | |||
|  |   4. У наредној линији, пређите у режим уметање и додајте данашњи датум | |||
|  |      помоћу `<CTRL-r>=`{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<CTRL-r>=`{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. Уметните текст директно из регистра у режиму уметање: `<CTRL-r>a`{normal} | |||
|  | 
 | |||
|  |   5. Уметните резултате простих аритметичких операција: | |||
|  |      `<CTRL-r>=`{normal}60\*60 `<ЕНТЕР>`{normal} у режиму уметања | |||
|  |   6. Уметните резултате системских позива: | |||
|  |      `<CTRL-r>=`{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 | |||
|  | 
 | |||
|  |   Превео на српски Иван Пешић. |