mirror of
https://github.com/vim/vim.git
synced 2025-07-04 23:07:33 -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ć.
|
|||
|
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|