mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
	
	
		
			197 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			197 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | =============================================================================== | |||
|  | =    D o b r o d o š l i   u   VIM   p r i r u č n i k    -    Verzija 1.7    = | |||
|  | =============================================================================== | |||
|  | =			  DRUGO   P O G L A V LJ E			      = | |||
|  | =============================================================================== | |||
|  | 
 | |||
|  |      Evo zmajeva: ako je ovo vaš prvi dodir sa programom vim i nameravali | |||
|  |      ste da uronite u uvodno poglavlje, molimo vas da otkucate :q<enter> i | |||
|  |      pokušate ponovo. | |||
|  | 
 | |||
|  |      Približno vreme potrebno za uspešan završetak ovog poglavlja je  | |||
|  |      između 8 i 10 minuta, u zavisnosti od vremena potrošenog na | |||
|  |      eksperimentisanje. | |||
|  | 
 | |||
|  | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |||
|  | 		      Lekcija 2.1.1: IMENOVANI REGISTRI | |||
|  | 
 | |||
|  | 
 | |||
|  | 	 ** Sačuvajte istovremeno dve trgnute reči, pa ih nalepite ** | |||
|  | 
 | |||
|  |   1. Pomerite kursor na liniju ispod obeleženu sa ---> | |||
|  | 
 | |||
|  |   2. Postavite se na bilo koje slovo reči ’Pera’ i otkucajte "ayiw | |||
|  | 
 | |||
|  | PAMĆENJE: u registar(") (a) (y)ank [trgni] (i)nner [unutrašnju] (w)ord [reč] | |||
|  | 
 | |||
|  |   3. Postavite se unapred na reč ’kolačića’ (fk ili $B ili /ko<enter>) i | |||
|  |      otkucajte "byiw | |||
|  | 
 | |||
|  |   4. Postavite se na bilo koje slovo reči ’Žika’ i otkucajte ciw<C-r>a<ESC> | |||
|  | 
 | |||
|  | PAMĆENJE: (c)hange [izmeni] (i)nner [unutrašnju] (w)ord [reč] sa | |||
|  |           <sadržajem (r)egistra> (a) | |||
|  | 
 | |||
|  |   5. Postavite se na bilo koje slovo reči ’torte’ i otkucajte ciw<C-r>b<ESC> | |||
|  | 
 | |||
|  | --->  a) Od sada će Pera biti zadužen za sledovanja kolačića | |||
|  |       b) U tom smislu, Žika će samostalno odlučivati o sudbini torte | |||
|  | 
 | |||
|  | NAPOMENA: U registre može i da se briše, npr. "sdiw će obrisati reč pod | |||
|  |           kursorom u registar s. | |||
|  | 
 | |||
|  | REFERENCE:	Registri		:h registers | |||
|  | 		Imenovani registri	:h quotea | |||
|  | 		Pokreti			:h motion.txt<enter> /inner<enter> | |||
|  | 		CTRL-R			:h insert<enter> /CTRL-R<enter> | |||
|  | 
 | |||
|  | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |||
|  | 			Lekcija 2.1.2: REGISTAR IZRAZA | |||
|  | 
 | |||
|  | 		** Umećite rezultate izračunavanja „u letu” ** | |||
|  | 
 | |||
|  |   1. Pomerite kursor na liniju ispod obeleženu sa ---> | |||
|  | 
 | |||
|  |   2. Postavite se na bilo koju cifru broja u njoj | |||
|  | 
 | |||
|  |   3. Otkucajte ciw<C-r>=60*60*24<enter> | |||
|  | 
 | |||
|  |   4. U narednoj liniji, pređite u režim umetanje i dodajte današnji datum | |||
|  |      pomoću <C-r>=system('date')<enter> | |||
|  | 
 | |||
|  | NAPOMENA: Svi pozivi operativnom sistemu zavise od sistema na kojem se | |||
|  |           izvršavaju, npr. na Windows upotrebite system('date /t') ili | |||
|  |           :r!date /t | |||
|  | 
 | |||
|  | ---> Zaboravio sam koliko sekundi ima u danu, 84600 je l’ da? | |||
|  |      Danas je:  | |||
|  | 
 | |||
|  | NAPOMENA: isto može da se postigne sa :pu=system('date') | |||
|  |           ili sa manje pritisaka na tastere: :r!date | |||
|  | 
 | |||
|  | REFERENCA:	Registar izraza		:h quote= | |||
|  | 
 | |||
|  | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |||
|  | 		       Lekcija 2.1.3: BROJČANI REGISTRI | |||
|  | 
 | |||
|  |        ** Pritiskajte yy i dd i uočite efekat koji imaju na registre ** | |||
|  | 
 | |||
|  |   1. Pomerite kursor na liniju ispod obeleženu sa ---> | |||
|  | 
 | |||
|  |   2. trgnite nultu liniju, pa zatim pogledajte sadržaje registara sa | |||
|  |      :reg<enter> | |||
|  | 
 | |||
|  |   3. obrišite liniju 0. sa "cdd, pa zatim pogledajte sadržaje registara | |||
|  |      (gde očekujete da vidite liniju 0?) | |||
|  | 
 | |||
|  |   4. nastavite da brišete svaku narednu liniju, posmatrajući usput registre | |||
|  |      sa :reg | |||
|  | 
 | |||
|  | NAPOMENA: trebalo bi da primetite kako se brisanja celih linija pomeraju niz | |||
|  |           listu nakon dodavanja novih obrisanih linija  | |||
|  |   5. Sada (p)aste [nalepite] sledeće registre u redosledu: | |||
|  |      c, 7, 4, 8, 2. tj. sa "7p | |||
|  | 
 | |||
|  | ---> 0. Ovo | |||
|  |      9. lelujavo | |||
|  |      8. tajna | |||
|  |      7. je | |||
|  |      6. na | |||
|  |      5. osi | |||
|  |      4. jedna | |||
|  |      3. ratna | |||
|  |      2. poruka | |||
|  |      1. poštovanja | |||
|  | 
 | |||
|  | NAPOMENA: brisanja kompletnih linija (dd) mnogo duže ostaju u brojčanim | |||
|  |           registrima u odnosu na trganja celih linija ili brisanja koja | |||
|  |           koriste manje pokrete | |||
|  | 
 | |||
|  | REFERENCE:	Brojčani registri	:h quote0 | |||
|  | 
 | |||
|  | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |||
|  | 			Lekcija 2.1.4: LEPOTA MARKERA | |||
|  | 
 | |||
|  | 	    ** Izbegavanje aritmetike kod neiskusnih programera ** | |||
|  | 
 | |||
|  | NAPOMENA: uobičajen problem prilikom pisanja koda je premeštanje velikih | |||
|  |           delova koda. Sledeća tehnika pomaže da se spreči potreba za | |||
|  |           izračunavanjima broja linije koji je potreban u operacijama kao što | |||
|  |           su "a147d ili :945,1091d a ili još gore, prvobitnom upotrebom | |||
|  |           i<C-r>=1091-945<enter> | |||
|  | 
 | |||
|  |   1. Pomerite kursor na liniju ispod obeleženu sa ---> | |||
|  | 
 | |||
|  |   2. Pređite na prvu liniju funkcije i markirajte je sa ma | |||
|  | 
 | |||
|  | NAPOMENA: tačna pozicija unutar linije NIJE bitna! | |||
|  | 
 | |||
|  |   3. Pomerite se na kraj linije i onda na kraj bloka koda sa $% | |||
|  | 
 | |||
|  |   4. Obrišite blok u registar sa "ad'a | |||
|  | 
 | |||
|  | PAMĆENJE: u registar(") (a) postavi (d)eletion [brisanje] od kursora do | |||
|  |           LINIJE koja sadrži marker(') (a) | |||
|  | 
 | |||
|  |   5. Nalepite blok između BBB i CCC sa "ap | |||
|  | 
 | |||
|  | NAPOMENA: vežbajte više puta ovu operaciju da bi vam postala prirodna | |||
|  |           ma$%"ad'a | |||
|  | 
 | |||
|  | ---> AAA | |||
|  |      function itGotRealBigRealFast() { | |||
|  |        if ( somethingIsTrue ) { | |||
|  |          doIt() | |||
|  |        } | |||
|  |        // taksonomija naše funkcije se izmenila pa više nema | |||
|  |        // azbučnog smisla na svojoj trenutnoj poziciji | |||
|  | 
 | |||
|  |        // zamislite stotine linija koda | |||
|  | 
 | |||
|  |        // naivno biste se pomerili na početak i kraj i zapisali ili | |||
|  |        // zapamtili oba broja linije | |||
|  |      } | |||
|  |      BBB | |||
|  |      CCC | |||
|  | 
 | |||
|  | NOTE: markeri i registri ne dele prostor imena, tako da je registar a | |||
|  |       potpuno nezavisan od markera a. Ovo nije slučaj sa registrima i | |||
|  |       makroima. | |||
|  | 
 | |||
|  | REFERENCE: 	Markeri 	:h marks | |||
|  | 		Pokreti markera	:h mark-motions  (razlika između ' i `) | |||
|  | 
 | |||
|  | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |||
|  | 			      REZIME lekcije 2.1 | |||
|  | 
 | |||
|  |   1. Da sačuvate (trgnete, obrišete) tekst u, i vratite (nalepite) iz, ukupno | |||
|  |      26 registara (a-z) | |||
|  |   2. Trgnite celu reč sa bilo koje pozicije unutar reči: yiw | |||
|  |   3. Izmenite celu reč sa bilo koje pozicije unutar reči: ciw | |||
|  |   4. Umetnite tekst direktno iz registra u režimu umetanje: (C-r)a | |||
|  | 
 | |||
|  |   5. Umetnite rezultate prostih aritmetičkih operacija: (C-r)=60*60<enter> u | |||
|  |      režimu umetanja | |||
|  |   6. Umetnite rezultate sistemskih poziva: (C-r)=system('ls -1') u režimu | |||
|  |      umetanja | |||
|  | 
 | |||
|  |   7. Pogledajte sadržaj registara sa :reg | |||
|  |   8. Naučite krajnje odredište brisanja kompletnih linija: dd u brojčane | |||
|  |      registre, tj. opadajući od 1 - 9. Imajte na umu da se brisanja celih | |||
|  |      linija održavaju u registrima duže od bilo koje druge operacije | |||
|  |   9. Naučite krajnja odredišta svih trganja u brojčane registre i koliko se | |||
|  |      tamo zadržavaju | |||
|  | 
 | |||
|  |  10. Postavljajte markere iz komandnog režima m[a-zA-Z0-9] | |||
|  |  11. Premeštajte po linijama na marker sa '  | |||
|  | 
 | |||
|  | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |||
|  | 
 | |||
|  |   Ovim se završava drugo poglavlje Vim priručnika. Još uvek se radi na njemu. | |||
|  | 
 | |||
|  |   Ovo poglavlje je napisao Pol D. Parker. | |||
|  | 
 | |||
|  |   Preveo na srpski Ivan Pešić. | |||
|  | 
 | |||
|  | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |