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
|
===============================================================================
= 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ć.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|