1 ===============================================================================
2 = V i t a j t e v o V I M T u t o r i a l i - Verzia 1.7 =
3 ===============================================================================
5 Vim je veµmi výkonný editor, ktorý má príli¾ veµa príkazov na to aby
6 mohli byt v¹etky popísané vo výuke akou je táto. Táto výuka
7 popisuje dostatoèné mno¾stvo príkazov nato aby bolo mo¾né pou¾íva»
8 Vim ako viacúèelový editor.
10 Pribli¾ný èas potrebný na prebratie tejto výuky je 25-30 minút,
11 závisí na tom, koµko je stráveného èasu s preskú¹avaním.
14 Príkazy v lekciách modifikujú text. Vytvor kópiu tohto súboru aby
15 sa mohlo precvièova» na òom (pri ¹tarte "vimtutor" je toto kópia).
17 Je dôle¾ité zapamäta» si, ¾e táto výuka je vytvorená pre výuku
18 pou¾ívaním. To znamená, ¾e je potrebné si príkazy vyskú¹a», aby bolo
19 uèenie správne. Ak len èitas text, príkazy zabudne¹!
21 Presvedè sa, ¾e Shift-Lock NIEJE stlaèený a stlaèt klávesu
22 j niekoµko krát, aby sa kurzor posunul natoµko, ¾e lekcia 1.1
23 celkom zaplní obrazovku.
25 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26 Lekcia 1.1: POHYB KURZOROM
29 ** Pre pohyb kurzorum stlaè klávesy h,j,k,l ako je znázornené. **
31 k Funkcia: Klávesa h je naµavo a vykoná pohyb doµava.
32 < h l > Klávesa l je napravo a vykoná pohyb doprava.
33 j Klávesa j vyzerá ako ¹ípka dole
35 1. Pohybuj kurzorom po obrazovke, kým si na to nezvykne¹.
37 2. Dr¾ stlaèenú klávesu pre pohyb dole (j), kým sa jej funkcia nezopakuje.
38 ---> Teraz sa u¾ vie¹ pohybova» na nasledujúcu lekciu.
40 3. Pou¾itím klávesy pre pohyb dole prejdi na Lekciu 1.2.
42 Poznámka: Ak si niesi istý tým èo si napísal, stlaè <ESC>
43 na prechod do normálneho módu.
45 Poznámka: Kurzorové klávesy sú tie¾ funkèné. Ale pou¾ívaním hjkl sa bude¹
46 schopný pohybova» rýchlej¹ie, keï si zvykne¹ ich pou¾íva». Naozaj!
48 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49 LEKCIA 1.2: ZATVÁRANIE VIMU
52 !! POZNÁMKA: Pred vykonaním týchto krokov si preèítaj celú túto lekciu !!
54 1. Stlaè klávesu <ESC> (aby si sa uèite nachádzal v normálnom móde)
56 2. Napí¹: :q! <ENTER>.
57 Tým ukonèí¹ prácu s editorom BEZ ulo¾enia zmien, ktoré si vykonal.
59 3. Keï sa dostane¹ na príkazový riadok, napí¹ príkaz, ktorým sa dostane¹
60 spe» do tejto výuky. To mô¾e by»: vimtutor <ENTER>
62 4. Ak si si tieto kroky spoµahlivo zapamätal, vykonaj kroky 1 a¾ 3, pre
63 ukonèenie a znovu spustenie editora.
65 POZNÁMKA: :q! <ENTER> neulo¾í zmeny, ktoré si vykonal. O niekoµko lekcií
66 sa nauèí¹ ako ulo¾i» zmeny do súboru
68 5. presuò kurzor dole na lekciu 1.3.
70 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 Lekcia 1.3: EDITÁCIA TEXTU - MAZANIE
74 ** Stlaèenie klávesy x v normálnom móde zma¾e znak na mieste kurzora. **
76 1. Presuò kurzor ni¾¹ie na riadok oznaèený znaèkou --->.
78 2. Aby si mohol odstráni» chyby, pohybuj kurzorom kým neprejde na znak,
81 3. Stlaè klávesu x aby sa zmazal nechcený znak.
83 4. Zopakuj kroky 2 a¾ 4 a¾ kým veta nieje správna.
85 ---> Kraava skooèilla ccezz mesiiac.
87 5. Ak je veta správna, prejdi na lekciu 1.4.
89 POZNÁMKA: Neskú¹aj si zapamäta» obsah tejto výuky, ale sa uè pou¾ívaním.
93 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
94 Lekcia 1.4: EDITÁCIA TEXTU - VKLADANIE
97 ** Stlaèenie klávesy i umo¾òuje vkladanie textu. **
99 1. Presuò kurzor ni¾¹ie na prvý riadok za znaèku --->.
101 2. Pre upravenie prvého riadku do rovnakého tvaru ako je druhý riadok,
102 presuò kurzor na prvý znak za misto, kde má by» text vlo¾ený.
104 3. Stlaè klávesu i a napí¹ potrebný text.
106 4. Po opravení ka¾dej chyby, stlaè <ESC> pre návrat do normálneho módu.
107 Zopakuj kroky 2 a¾ 4 kým nieje veta správna.
109 ---> Tu je text chýbajúci tejto.
110 ---> Tu je nejaký text chýbajúci od tejto èiary.
112 5. Keï sa dostatoène nauèí¹ vklada» text, prejdi na nasledujúce zhrnutie.
115 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
116 Lekcia 1.5: EDITÁCIA TEXTU - PRIDÁVANIE
119 ** Stlaèenie klávesy A umo¾òuje pridáva» text. **
121 1. Presuò kurozr ni¾¹ie na prvý riadok za znaèkou --->.
122 Nezále¾í na tom, na ktorom znaku sa kurzor v tom riadku nachádza.
124 2. Stlaè klávesu A a napí¹ potrebný text.
126 3. Po pridaní textu stlaè klávesu <ESC> pre návrat do Normálneho módu.
128 4. Presuò kurozr na druhý riadok oznaèený ---> a zopakuj
129 kroky 2 a 3 kým nieje veta správna.
131 ---> Tu je nejaký text chýbajúci o
132 Tu je nejaký text chýbajúci od tiaµto.
133 ---> Tu tie¾ chýba nej
134 Tu tie¾ chýba nejaký text.
136 5. Keï sa dostatoène nauèí¹ pridáva» text, prejdi na lekciu 1.6.
139 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
140 Lekcia 1.6: EDITÁCIA SÚBORU
143 ** Napísaním :wq sa súbor ulo¾í a zavrie **
145 !! POZNÁMKA: Pred vykonaním týchto krokov si preèítaj celú lekciu!!
147 1. Opusti túto výuku, ako si to urobil v lekcii 1.2: :q!
149 2. Do príkazového riadku napí¹ príkaz: vim tutor <ENTER>
150 'vim' je príkaz, ktorý spustí editor Vim, 'tutor' je meno súboru,
151 ktorý chce¹ editova». Pou¾i taký súbor, ktorý mô¾e¹ meni».
153 3. Vlo¾ a zma¾ text tak, ako si sa nauèil v predo¹lých lekciach.
155 4. Ulo¾ súbor so zmenami a opusti Vim príkazom: :wq <ENTER>
157 5. Re¹tartuj vimtutor a presuò sa dole na nasledujúce zhrnutie.
159 6. Urob tak po preèítaní predo¹lých krokov a porozumeniu im.
162 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
166 1. Kurzor sa pohybuje pou¾itím kláves so ¹ípkami alebo klávesmi hjkl.
167 h (do lava) j (dole) k (hore) l (doprava)
169 2. Pre spustenie Vimu (z príkazového riadku) napí¹: vim FILENAME <ENTER>
171 3. Na ukonèenie Vimu napí¹: <ESC> :q! <ENTER> pre zru¹enie v¹etkých zmien
172 alebo napí¹: <ESC> :wq <ENTER> pre ulo¾enie zmien.
174 4. Na zmazanie znaku na mieste kurzora napí¹: x
176 5. Pre vlo¾enie textu na mieste kurzora v normálnom móde napí¹:
177 i napí¹ vkladaný text <ESC> vkladanie pred kurzor
178 A napí¹ pridávaný text <EXC> vkladanie za riadok
180 POZNÁMKA: Stlaèenie <ESC> »a premiestní do normálneho módu alebo zru¹í
181 nejaký nechcený a èiastoène dokonèený príkaz.
183 Teraz pokraèuj lekciou 2.
186 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
187 Lekcia 2.1: Mazacie príkazy
190 ** Napísanie príkazu dw zma¾e znaky do konca slova. **
192 1. Stlaè <ESC> aby si bol bezpeène v normálnom móde.
194 2. Presuò kurzor ni¾¹ie na riadok oznaèený znaèkou --->.
196 3. Presuò kurzor na zaèiatok slova, ktoré je potrebné zmaza».
198 4. Napí¹ dw aby slovo zmizlo.
200 POZNÁMKA: Písmeno d sa zobrazí na poslednom riadku obrazovky keï ho
201 napí¹e¹. Vim na teba poèká, aby si mohol napísa»
202 písmeno w. Ak vidí¹ nieèo iné ako d , tak si napísal
203 nesprávny znak; stlaè <ESC> a zaèni znova.
205 ---> Tu je niekoµko slov zábava, ktoré nie patria list do tejto vety.
207 5. Zopakuj kroky 3 a¾ 4 kým veta nieje správna a prejdi na lekciu 2.2.
211 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
212 Lekcia 2.2: VIAC MAZACÍCH PRÍKAZOV
215 ** Napísanie príkazu d$ zma¾e znaky do konca riadku **
217 1. Stlaè <ESC> aby si bol bezpeène v normálnom móde.
219 2. Presuò kurzor ni¾¹ie na riadok oznaèený znaèkou --->.
221 3. Presuò kurzor na koniec správnej vety (ZA prvú bodku).
223 4. Napí¹ d$ aby sa zmazali znaky do konca riadku.
225 ---> Niekto napísal koniec tohto riadku dvakrát. koniec tohot riadku dvakrát.
228 5. Prejdi na lekciu 2.3 pre pochopenie toho èo sa stalo.
231 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 Lekcia 2.3: OPERÁTORY A POHYBY
234 Veµa príkazov, ktoré menia text sú odvodené od operátorov a pohybov.
235 Formát pre príkaz mazania klávesou d je nasledovný:
240 d - je mazací operátor
241 pohyb - je to èo operátor vykonáva (vypísané ni¾¹ie)
244 w - do zaèiatku ïal¹ieho slova, okrem jeho prvého písmena.
245 e - do konca teraj¹ieho slova, vrátane posledného znaku.
246 $ - do konca riadku, vrátane posledného znaku
248 Tak¾e napísaním de sa zma¾e v¹etko od kurzora do konca slova.
250 POZNÁMKA: Stlaèením iba pohybu v normálnom móde bez operátora
251 sa presunie kurzor tak ako je to ¹pecivikované.
253 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
254 Lekcia 2.4: Pou¾itie viacnásobného pohybu
257 ** Napísaním èísla pred pohyb ho zopakuje zadný poèet krát **
259 1. Presuò kurozr ni¾¹ie na zaèiatok riadku oznaèeného --->.
261 2. Napí¹ 2w a kurozr sa presunie o dve slová vpred.
263 3. Napí¹ 3e a kurozr sa presunie vpred na koniec tretieho slova.
265 4. Napí¹ 0 (nula) a kurozr sa presunie na zaèiatok riadku.
267 5. Zopakuj kroky 2 a 3 s rôznymi èíslami.
269 ---> Toto je riadok so slovami po kotrých sa mô¾ete pohybova».
271 6. Prejdi na lekciu 2.5.
274 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
275 Lekcia 2.5: POU®ITIE VIACNÁSOBNÉHO MAZANIA PRE HROMADNÉ MAZANIE
278 ** Napísanie èísla spolu s operátorom ho zopakuje zadaný poèet krát **
280 V kombinácii operátorov mazania a pohybu spomínaného vy¹¹ie vlo¾ poèet
281 pred pohyb pre docielenie hromadného mazania:
284 1. Presuò kurzor na prvé slovo písané VE¥KÝMI PÍSMENAMI
285 v riadku oznaèenom --->.
287 2. Napí¹ 2dw a zma¾e¹ dve slová písané VE¥KÝMI PÍSMENAMI
289 3. Zopakuj kroky 1 a 2 s pou¾itím rôzneho èísla tak aby si zmazal slová
290 písané veµkými písmenami jedným príkazom.
292 ---> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny.
294 POZNÁMKA: Èíslo medzi operátorom d a pohybom funguje podobne ako pri
295 pou¾ití s pohybom bez operátora.
298 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
299 Lekcia 2.6: OPERÁCIE S RIADKAMI
302 ** Napísanie príkazu dd zma¾e celý riadok. **
304 Vzhµadom na frekvenciu mazania celého riadku, sa autori Vimu rozhodli,
305 ¾e bude jednoduch¹ie maza» celý riadok napísaním dvoch písmen d.
307 1. Presuò kurzor na druhý riadok v texte na spodu.
308 2. Napí¹ dd aby si zmazal riadok.
309 3. Prejdi na ¹tvrtý riadok.
310 4. Napí¹ 2dd aby si zmazal dva riadky.
316 5) Hodinky ukazujú èas,
321 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
322 Lekcia 2.7: PRÍKAZ UNDO
325 ** Stlaè u pre vrátenie posledného príkazu, U pre úpravu celého riadku. **
327 1. Presuò kurzor ni¾¹ie na riadok oznaèený znaèkou ---> a premiestni ho na
329 2. Napí¹ x pre zmazanie prvého nechceného riadku.
330 3. Teraz napí¹ u èím vrátí¹ spä» posledne vykonaný príkaz.
331 4. Teraz oprav v¹etky chyby na riadku pou¾itím príkazu x .
332 5. Teraz napí¹ veµké U èím vrátí¹ riadok do pôvodného stavu.
333 6. Teraz napí¹ u niekoµko krát, èím vrátí¹ spä» príkaz U.
334 7. Teraz napí¹ CTRL-R (dr¾ klávesu CTRL stlaèenú kým stláèa¹ R) niekoµko
335 krát, èím vrátí¹ spä» predtým vrátené príkazy (undo z undo).
337 ---> Opprav chybby nna toomto riadku a zmeeò ich pommocou undo.
339 8. Tieto príkazy sú èasto pou¾ívané. Teraz prejdi na zhrnutie lekcie 2.
344 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
348 1. Pre zmazanie znakov od kurzora do konca slova napí¹: dw
350 2. Pre zmazanie znakov od kurzora do konca riadku napí¹: d$
352 3. Pre zmazanie celého riadku napí¹: dd
354 4. Pre zopakovanie pohybu, napí¹ pred neho èíslo: 2w
358 operátor [èíslo] pohyb
360 operátor - èo treba robi», napríklad d pre zmazanie
361 [èíslo] - je voliteµný poèet pre opakovanie pohybu
362 pohyb - pohyb po texte vzhµadom na operátor, napríklad w (slovo),
363 $ (do konca riadku), atï.
365 6. Pre pohyb na zaèiatok riadku pou¾i nulu: 0
367 7. Pre vrátenie spä» predo¹lej operácie napí¹: u (malé u)
368 Pre vrátenie v¹etkých úprav na riadku napí¹: U (veµké U)
369 Pre vrátenie vrátených úprav napí¹: CTRL-R
371 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
372 Lekcia 3.1: PRÍKAZ VLO®I«
375 ** Napísanie príkazu p vlo¾í psledný výmaz za kurzor. **
377 1. Presuò kurzor ni¾¹ie na prvý riadok textu.
379 2. Napí¹ dd èím zma¾e¹ riadok a ulo¾í¹ ho do buffera editora Vim.
381 3. Presuò kurzor vy¹¹ie tam, kam zmazaný riadok patrí.
383 4. Ak napí¹e¹ v normálnom móde p zmazaný riadk sa vlo¾í.
385 5. Zopakuj kroky 2 a¾ 4, kým riadky niesú v správnom poradí.
387 ---> d) Tie¾ sa doká¾e¹ vzdeláva»?
388 ---> b) Fialky sú modré,
389 ---> c) Inteligencia sa vzdeláva,
390 ---> a) Ru¾e sú èervené,
394 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
395 Lekcia 3.2: PRÍKAZ NAHRADENIA
398 ** Napísaním rx sa nahradí znak na mieste kurzora znakom x . **
400 1. Presuò kurzor ni¾¹ie na prví riadok textu oznaèeného znaèkou --->.
402 2. Presuò kurzor na zaèiatok prvej chyby.
404 3. napí¹ r a potom znak, ktorý tam má by».
406 4. Zopakuj kroky 2 a 3, kým prvý riadok nieje zhodný s druhým.
408 ---> Kaï bol tento riasok píaaný, niekro stla¹il nesprábne klávesy!
409 ---> Keï bol tento riadok písaný, niekto stlaèil nesprávne klávesy!
411 5. Teraz prejdi na lekciu 3.2.
413 POZNÁMKA: Pamätaj si, ¾e nauèi» sa mô¾e¹ len pou¾ívanim, nie pamätaním.
417 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
418 Lekcia 3.3. PRÍKAZ ÚPRAVY
421 ** Ak chce¹ zmeni» èas» slova do konca slova, napí¹ ce . **
423 1. Presuò kurzor ni¾¹ie na prvý riadok oznaèený znaèkou --->.
425 2. Umiestni kurzor na písmeno o v slove rosfpl.
427 3. Napí¹ ce a oprav slovo (v tomto prípade napí¹ 'iadok'.)
429 4. Stlaè <ESC> a prejdi na ïal¹í znak, ktorý treba zmeni».
431 5. Zopakuj kroky 3 a 4, kým prvá veta nieje rovnaká ako druhá.
433 ---> Tento rosfpl má niekoµko skic, ktoré je pirewvbí zmeni» piy»uèán príkazu.
434 ---> Tento riadok má niekoµko slov, ktoré je potrebné zmeni» pou¾itím príkazu.
436 Poznámka, ¾e ce zma¾e slovo a nastaví vkladací mód.
440 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
441 Lekcia 3.4: VIAC ZMIEN POU®ITÍM c
444 ** Príkaz pre úpravy sa pou¾íva s rovnakými pohybmi ako pre mazanie **
446 1. Príkaz pre úpravy pracuje rovnako ako pre mazanie. Formát je:
450 2. Pohyby sú rovnaké, ako napríklad w (slovo) a $ (koniec riadku).
452 3. Presuò kurzor ni¾¹ie na prvý riadok oznaèený znaèkou --->.
454 4. Presuò kurzor na prvú chybu.
456 5. napí¹ c$ aby si mohol upravi» zvy¹ok riadku podµa druhého
459 ---> Koniec tohto riadku potrebuje pomoc, aby bol ako druhy.
460 ---> Koniec tohto riadku potrebuje opravi» pou¾itím príkazu c$ .
462 POZNÁMKA: Mô¾e¹ pou¾i» klávesu backspace na úpravu zmien poèas písania.
465 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
469 1. Na vlo¾enie textu, ktorý u¾ bol zmazaný, napí¹ p . To vlo¾í zmazaný
470 text ZA kurzor (ak bol riadok zmazaný prejde na riadok pod kurzorom).
472 2. Pre naradenie znaku na mieste kurzora, napí¹ r a potom znak, ktorý
473 nahradí pôvodný znak.
475 3. Príkaz na upravenie umo¾òuje zmeni» od kurzora a¾ po miesto, ktoré
476 urèuje pohyb. napr. Napí¹ ce èím zmní¹ text od pozície
477 kurzora do konca slova, c$ zmení text do konca riadku.
479 4. Formát pre nahradenie je:
484 Teraz prejdi na nalsedujúcu lekciu.
488 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
489 Lekcia 4.1: POZÍCIA A STATUS SÚBORU
492 ** Stlaè CTRL-g pre zobrazenie svojej pozície v súbore a statusu súboru.
493 Napí¹ G pre presun na riadok v súbore. **
495 Poznámka: Preèítaj si celú túto lekciu skôr ako zaène¹ vykonáva» kroky!!
497 1. Dr¾ stlaèenú klávesu Ctrl a stlaè g . Toto nazývame CTRL-G.
498 Na spodu obrazovky sa zobrazí správa s názvom súboru a pozíciou
499 v súbore. Zapamätajsi si èíslo riadku pre pou¾itie v kroku 3.
501 2. Stlaè G èím sa dostane¹ na spodok súboru.
502 Napí¹ gg èím sa dostane¹ na zaèiatok súboru.
504 3. Napí¹ èíslo riadku na ktorom si sa nachádzal a stlaè G. To »a
505 vráti na riadok, na ktorom si prvý krát stlaèil CTRL-G.
507 4. Ak sa cítí¹ schopný vykona» teto kroky, vykonaj kroky 1 a¾ 3.
511 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
512 Lekcia 4.2: PRÍKAZ VYH¥ADÁVANIA
515 ** Napí¹ / nasledované re»azcom pre vyhµadanie príslu¹ného re»azca. **
517 1. Napí¹ znak / v normálnom móde. Poznámka, ¾e tento znak sa spolu
518 s kurzorom zobrazí v dolnej èasti obrazovky s : príkazom.
520 2. Teraz napí¹ 'errroor' <ENTER>. To je slovo, ktoré chce¹ vyhµada».
522 3. Pre vyhµadanie ïal¹ieho výskytu rovnakého re»azca, stlaè jednoducho n.
523 Pre vyhµadanie ïal¹ieho výskytu rovnakého re»azca opaèným smerom,
526 4. Ak chce¹ vyhµada» re»azec v spätnom smere, pou¾í príkaz ? miesto
529 5. Pre návrat na miesto z ktorého si pri¹iel stlaè CTRL-O (dr¾ stlaèenú
530 klávesu Ctrl poèas stlaèenia klávesy o). Zopakuj pre ïal¹í návrat
531 spä». CTRL-I ide vpred.
533 POZNÁMKA: "errroor" nieje spôsob hláskovania error; errroor je error.
534 POZNÁMKA: Keï vyhµadávanie dosiahne koniec tohto súboru, bude pokraèova» na
535 zaèiatku, dokiaµ nieje resetované nastavenie 'wrapscan' .
538 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
539 Lekcia 4.3: VYH¥ADÁVANIE ZODPOVEDAJÚCICH ZÁTAVORIEK
542 ** Napí¹ % pre vyhµadanie príslu¹ného znaku ),], alebo } . **
544 1. Premiestni kurzor na hocaký zo znakov (, [, alebo { v riadku ni¾¹ie
545 oznaèeného znaèkou --->.
547 2. Teraz napí¹ znak % .
549 3. Kurzor sa premiestni na zodpovedajúcu zátvorku.
551 4. Napí¹ % pre presun kurzoru spä» na otvárajúcu zátvorku.
553 5. Presuò kurzor na iný zo znakov (,),[,],{ alebo } a v¹imni si
556 ---> Toto ( je testovací riadok s ('s, ['s ] a {'s } v riadku. ))
558 Poznámka: Toto je veµmi výhodné pou¾í» pri ladení programu s chýbajúcimi
559 uzatvárajúcimi zátvorkami!
563 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
564 Lekcia 4.4: PRÍKAZ NAHRADENIA
567 ** Napí¹ :s/starý/nový/g pre nahradenie slova 'starý' za slovo 'nový'. **
569 1. Presuò kurzor ni¾¹ie na riadok oznaèený znaèkou --->.
571 2. Napí¹ :s/thee/the <ENTER> . Poznamka, ¾e tento príkaz zmení len prvý
572 výskyt "thee" v riadku.
574 3. Teraz napí¹ :s/thee/the/g èo znamená celkové nahradenie v riadku.
575 Toto nahradí v¹etky výskyty v riadku.
577 ---> Thee best time to see thee flowers in thee spring.
579 4. Pre zmenu v¹etkých výskytov daného re»azca medzi dvomi ridakami,
580 napí¹ :#,#s/starý/nový/g kde #,# sú èísla dvoch riadkov, v rozsahu
581 ktorých sa nahradenie vykoná.
582 napí¹ :%s/starý/nový/g pre zmenu v¹etkých výskytov v celom riadku
583 napí¹ :%s/starý/nový/gc nájde v¹etky výskyty v celom súbore,
584 s otázkou èi nahradi» alebo nie
588 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
592 1. CTRL-g vypí¹e tvoju pozíciu v súbore a status súboru.
593 G »a premiestni na koniec riadku.
594 èíslo G »a premiestni na riadok s èíslom.
595 gg »a presunie na prvý riadok
597 2. Napísanie / nasledované re»azcom vyhµadá re»azec smerom DOPREDU.
598 Napísanie ? nasledované re»azcom vyhµada re»azec smerom DOZADU.
599 Napísanie n po vyhµadávaní, vyhµadá nasledujúci výskyt re»azca
600 v rovnakom smere, prièom N vyhµadá v opaènom smere.
601 CTRL-O »a vráti spä» na star¹iu pozíciu, CTRL-I na nov¹iu pozíciu.
603 3. Napísanie % keï kurzor je na (,),[,],{, alebo } nájde zodpovdajúcu
606 4. Pre nahradenie nového za prvý starý v riadku napí¹ :s/starý/nový
607 Pre nahradenie nového za v¹etky staré v riadku napí¹ :s/starý/nový/g
608 Pre nahradenie re»azcov medzi dvoma riadkami 3 napí¹ :#,#/starý/nový/g
609 Pre nahradenie v¹etkých výskytov v súbore napí¹ :%s/starý/nový/g
610 Pre potvrdenie ka¾dého nahradenia pridaj 'c' :%s/starý/nový/gc
613 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
614 Lekcia 5.1 AKO SPUSTI« VONKAJ©Í PRÍKAZ
617 ** Napí¹ príkaz :! nasledovaný vonkaj¹ím príkazom pre spustenie príkazu **
619 1. Napí¹ obvyklý píkaz : ktorý nastaví kurzor na spodok obrazovky.
620 To umo¾ní napísa» príkaz.
622 2. Teraz napí¹ ! (výkrièník). To umo¾ní spusti» hociaký vonkaj¹í príkaz
623 z príkazového riadku.
625 3. Ako príklad napí¹ ls za ! a stlaè <ENTER>. Tento príkaz
626 zobrazí obsah tvojho adresára rovnako ako na príkazovom riadku.
627 Alebo pou¾i :!dir ak ls nefunguje.
629 Poznámka: Takto je mo¾né spusti» hociaký vonkaj¹í príkaz s argumentami.
630 Poznámka: V¹etky príkazy : musia by» dokonèené stlaèením <ENTER>
635 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
636 Lekcia 5.2: VIAC O UKLADANÍ SÚBOROV
639 ** Pre ulo¾enie zmien v súbore, napí¹ :w FILENAME. **
641 1. Napí¹ :!dir alebo :!ls pre výpis aktuálneho adresára.
642 U¾ vie¹, ¾e musí¹ za týmto stlaèi» <ENTER> .
644 2. Vyber názov súboru, ktorý e¹te neexistuje, ako napr. TEST.
646 3. Teraz napí¹: :w TEST (kde TEST je názov vybratého súboru.)
648 4. To ulo¾í celý súbor (Vim Tutor) pod názovm TEST.
649 Pre overenie napí¹ :!dir , èím zobrazí¹ obsah adresára.
651 Poznámka: ¾e ak ukonèí¹ prácu s editorom Vim a znovu ho spustí¹ príkazom
652 vim TEST, súbor bude kópia výuky, keï si ho ulo¾il.
654 5. Teraz odstráò súbor napísaním (MS-DOS): :!del TEST
655 alebo (Unix): :!rm TEST
658 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
659 Lekcia 5.3 VÝBER TEXTU PRE ULO®ENIE
662 ** Pre ulo¾enie èasti súboru, napí¹ v pohyb :w FILENAME **
664 1. Presuò kurozr na tento riadok.
666 2. Stlaè v a presuò kurozr na piatu polo¾ku dole. Poznámka, ¾e
667 tento text je vyznaèený (highlighted).
669 3. Stlaè klávesu : . V spodnej èasti okna sa objaví :'<,'>.
671 4. Napí¹ w TEST , kde TEST je meno súboru, ktorý zatial neexistuje.
672 Skontroluj, e vidí¹ :'<,'>w TEST predtým ne¾ stlaèí¹ Enter.
674 5. Vim zapí¹e oznaèené riadky do súboru TEST. Pou¾i :!dir alebo !ls
675 pre overenie. Zatial ho e¹te nema¾! Pou¾ijeme ho v ïal¹ej lekcii.
677 POZNÁMKA: Stlaèením klávesy v sa spustí vizuálne oznaèovanie.
678 Mô¾e¹ pohybova» kurzorom pre upresnenie vyznaèeného textu.
679 Potom mô¾e¹ pou¾i» operátor pre vykonanie nejakej akcie
680 s textom. Napríklad d zma¾e vyznaèený text.
683 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
684 Lekcia 5.4: VÝBER A ZLUÈOVANIE SÚBOROV
687 ** Pre vlo¾enie obsahu súboru, napí¹ :r FILENAME **
689 1. Premiestni kurzor nad tento riadok.
691 POZNÁMKA: Po vykonaní kroku 2 uvidí¹ text z lekcie 5.3. Potom sa presuò
692 dole, aby si videl túto lekciu.
694 3. Teraz vlo¾ súbor TEST pou¾itím príkazu :r TEST kde TEST je názov
695 súboru. Súbor, ktorý si pou¾il je umiestnený pod riadkom s kurzorom.
697 POZNÁMKA: Mô¾e¹ tie¾ naèíta» výstup vonkaj¹ieho príkazu. Napríklad :r !ls
698 naèíta výstup príkazu ls a umiestni ho za pozíciu kurzora.
701 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
705 1. :!príkaz spustí vonkaj¹í príkaz.
707 Niektoré vyu¾iteµné príklady sú:
709 :!dir :!ls - zobrazí obsah adresára
710 :!del FILENAME :!rm FILENAME - odstráni súbor FILENAME
712 2. :w FILENAME ulo¾í aktuálny súbor na disk pod menom FILENAME.
714 3. v pohyb :w FILENAME ulo¾í vizuálne oznaèené riadky do
717 4. :r FILENAME vyberie z disku súbor FILENAME a vlo¾í ho do aktuálneho
718 súboru za pozíciou kurzora.
720 5. :r !dir naèíta výstup z príkazu dir a vlo¾í ho za pozíciu kurzora.
724 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
725 Lekcia 6.1: PRÍKAZ OTVORI«
728 ** Napí¹ o pre vlo¾enie riadku pod kurzor a prepnutie do vkladacieho módu **
730 1. Presuò kurzor ni¾¹ie na riadok oznaèený znaèkou --->.
732 2. Napí¹ o (malé písmeno) pre vlo¾enie èistého riadku pod kurzorm
733 a prepnutie do vkladacieho módu.
735 3. Teraz skopíruj riadok oznaèený ---> a stlaè <ESC> pre ukonèenie
738 ---> Po napísaní o sa kurzor premiestní na vlo¾ený riadok do vkladacieho
741 4. Pre otvorenie riadku nad kurzorom, jednotucho napí¹ veµké O ,
742 namiesto malého o. Vyskú¹aj si to na riadku dole.
744 ---> Vlo¾ riadok nad týmto napísaním O, keï kurzor je na tomto riadku.
748 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
749 Lekcia 6.2: PRÍKAZ PRIDA«
752 ** Napí¹ a pre vlo¾enie textu ZA kurzor. **
754 1. Presuò kurzor ni¾¹ie na koniec prvého riadku oznaèeného znaèkou --->
756 2. Stlaè klávesu e dokiaµ kurozr nieje na konci riadku.
758 3. Napí¹ a (malé písmeno) pre pridanie textu ZA kurzorom.
760 4. Dokonèí slovo tak ako je to v druhom riadku. Stla¹ <ESC> pre
761 opustenie vkladacieho módu.
763 5. Pou¾i e na presun na ïal¹ie nedokonèené slovo a zopakuj kroky 3 a 4.
765 ---> Tento ri ti dovoµuje nácv priávan testu na koniec riadku.
766 ---> Tento riadok ti dovoµuje nácvik pridávania textu na koniec riadku.
768 POZNÁMKA: a, i, A ¹tartujú rovnaký vkladací mód, jediný rozidel je, kde
772 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
773 Lekcia 6.3: INÝ SPOSOB NAHRADZOVANIA
776 ** Napí¹ veµké R pre nahradenie viac ako jedného znaku. **
778 1. Presuò kurzor ni¾¹ie na prvý riadok oznaèený znaèkou --->. Premiestni
779 kurzor na zaèiatok prvého výskytu xxx.
781 2. Teraz napí¹ R a napí¹ èíslo uvedené v druhom riadku, tak¾e
782 sa ním nahradí pôvodné xxx.
784 3. Stlaè <ESC> pre opustenie nahradzovacieho módu. Poznámka, ¾e zvy¹ok
785 riadku zostane nezmenený.
787 4. Zopakuj tieto kroky pre nahradenie zvy¹ných xxx.
789 ---> Pridaním 123 ku xxx dostane¹ xxx.
790 ---> Pridaním 123 ku 456 dostane¹ 579.
792 POZNÁMKA: Nahradzovací mód je ako vkladací mód, ale ka¾dý napísaný znak
793 zma¾e existujúci znak.
796 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
798 Lekcia 6.4: Copy Paste textu
800 ** pou¾í operátor y pre copy textku a p pre jeho paste **
802 1. Choï ni¾¹ie na riadok oznaèený ---> a umiestni kurozr za "a)".
804 2. Na¹tartuj vizuálny mód pou¾itím v a presuò kurozr pred "first".
806 3. Napí¹ y pre vystrihnutie (copy) oznaèeného textu.
808 4. Presuò kurozr na koniec ïal¹ieho riadku: j$
810 5. Napí¹ p pre vlo¾nie (paste) textu. Potom napí¹: a druha <ESC>.
812 6. Pou¾i vizuálny mód pre oznaèenie "polo¾ka.", vystrihni to
813 pou¾itím y, presuò sa na koniec nasledujúceho riadku pou¾itím j$
814 a vlo¾ sem text pou¾itím p.
816 ---> a) toto je prvá polo¾ka
819 POZNÁMKA: Mô¾e¹ pou¾i» tie¾ y ako operátor; yw vystrihne jedno slovo.
822 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
823 Lekcia 6.5: NASTAVENIE MO®NOSTÍ
826 ** Nastav mo¾nosti, tak¾e vyhµadávanie alebo nahradzovanie ignoruje
830 1. Vyhµadaj re»azec 'ignore' napísaním:
832 Zopakuj vyhµadávanie niekoµko krát stlaèením klávesy n .
834 2. Nastav mo¾nos» 'ic' (Ignore case) napísaním príkazu:
837 3. Teraz vyhµadaj re»azec 'ingore' znova stlaèením klávesy n
838 Poznámka, ¾e teraz sú vyhµadané aj Ignore a IGNORE.
840 4. Nastav mo¾nos»i 'hlsearch' a 'incsearch':
843 5. Teraz spusti vyhµadávací príkaz znovu, a pozri èo sa stalo:
846 6. Pre opetovné zapnutie rozly¹ovania veµkých a malých písmen
849 POZNÁMKA: Na odstránenie zvýraznenia výrazov napí¹: :nohlsearch
850 POZNÁMKA: Ak chce¹ nerozly¹ova» veµkos» písmen len pre jedno
851 pou¾itie vyhµadávacieho príkazu, pou¾i \c: /ignore\c <ENTER>
853 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
857 1. Napí¹ o pre otvorenie riadku pod kurzorom a ¹tart vkladacieho módu.
858 Napí¹ O pre otvorenie riadku nad kurzorom.
860 2. Napí¹ a pre vkladanie textu ZA kurzor.
861 Napí¹ A pre vkladanie textu za koncom riadku.
863 3. Príkaz e presunie kurozr na koniec slova
865 4. Operátor y vystrihne (skopíruje) text, p ho vlo¾í.
867 5. Napísanie veµkého R prepne do nahradzovacieho módu, kým nieje
870 6. Napísanie ":set xxx" nastaví mo¾nos» "xxx". Niektoré nastavenia sú:
871 'ic' 'ignorecase' ignoruje veµké a malé písmená poèas vyhµadávania.
872 'is' 'incsearch' zobrazuje èiastoèné re»azce vyhµadávaného re»azca.
873 'hls' 'hlsearch' vyznaèí v¹etky vyhµadávané re»azce.
874 Mô¾e¹ pou¾i» hociktorý z dlhých a krátkych názvov mo¾ností.
876 7. Vlo¾ "no" pred nastavenie pre jeho vypnutie: :set noic
884 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
885 LEKCIA 7.1: ZÍSKANIE NÁPOVEDY
888 ** Pou¾ívaj on-line systém nápovedy **
890 Vim má obsiahly on-line systém nápovedy. Pre od¹tartovanie, vyskú¹aj jeden
892 - stlaè klávesu <HELP> (ak nejakú má¹)
893 - stlaè klávesu <F1> (ak nejakú má¹)
894 - napí¹ :help <ENTER>
896 Èítaj text v okne nápovedy pre získanie predstavy ako nápoveda funguje.
897 Napí¹ CTRL-W CTRL-W pre skok z jedného okna do druhého.
898 Napí¹ :q <ENTER> èím zatvorí¹ okno nápovedy.
900 Mô¾e¹ nájs» help ku hociakej téme pridaním argumentu ku príkazu ":help".
901 Vyskú¹aj tieto (nezabudni stlaèi» <ENTER>):
909 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
910 LEKCIA 7.2: VYTVORENIE ©TARTOVACIEHO SKRIPTU
912 ** Zapni funkcie editora Vim **
914 Vim má omnoho viac funkcii ne¾ Vi, ale veè¹ina z nich je implicitne
915 vypnutá. Pre pou¾ívanie viac Vim funkcii vytvor "vimrc" súbor.
917 1. Zaèni editova» "vimrc" súbor, to závisí na pou¾itom systéme:
919 :e $VIM/_vimrc pre MS-Windows
921 2. Teraz si preèítaj text príkladu "vimrc" súboru:
923 :r $VIMRUNTIME/vimrc_example.vim
928 Pri nasledujúcom ¹tarte editora Vim sa pou¾ije zvýrazòovanie syntaxe.
929 Do "vimrc" súboru mô¾e¹ prida» v¹etky svoje uprednostòované nastavenia.
930 Pre viac informácii napí¹ :help vimrc-intro
932 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
934 LEKCIA 7.3 DOKONÈENIE
936 ** Dokonèi príkaz na príkazovom riadku pou¾itím CTRL-D a <TAB> **
938 1. Uisti sa, ¾e Vim nieje v kompatibilnom móde: :set nocp
940 2. Pozri sa aké súbory sa nachádzajú v adresári: :!ls alebo :!dir
942 3. Napí¹ zaèiatok príkazu: :e
944 4. Stlaè CTRL-D a Vim zobrazí zoznam príkazov zaèínajúcich "e".
946 5. Stlaè <TAB> a Vim dokonèí meno príkazu na ":edit".
948 6. Teraz pridaj medzerník a zaèiatok mena existujúceho súboru:
951 7. Stlaè <TAB>. Vim dokonèí meno (ak je jedineèné).
953 POZNÁMKA: Dokonèovanie funguje pre veµa príkazov. Vyskú¹aj stlaèenie
954 CTRL-D a <TAB>. ©peciálne je to u¾itoèné pre príkaz :help.
957 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
961 1. Napí¹ :help alebo stlaè <F1> alebo <Help> pre otvorenie okna nápovedy.
963 2. Napí¹ :help príkaz pre vyhµadanie nápovedy ku príkazu príkaz.
965 3. Napí¹ CTRL-W CTRL-W na preskoèenie do iného okna.
967 4. Napí¹ :q pre zatvorenie okna nápovedy
969 5. Vytvor ¹tartovací skript vimrc pre udr¾anie uprednostòovaných nastavení.
971 6. Poèas písania príkazu : stlaè CTRL-D pre zobrazenie dokonèení.
972 Stlaè <TAB> pre pou¾itie jedného z dokonèení.
975 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
979 Toto vymedzuje výuku Vimu. Toto je urèené pre strucný prehµad o editore
980 Vim, úplne postaèujúce pre µahké a obstojné pou¾ívanie tohto editora.
981 Táto výuka je ïaleko od kompletnosti, preto¾e Vim má omnoho viacej príkazov.
982 Ako ïal¹ie si preèítaj u¾ívatµský manuál: ":help user-manual".
984 Pre ïal¹ie èítanie a ¹túdium je odporúèaná kniha:
985 Vim - Vi Improved - od Steve Oualline
986 Vydavateµ: New Riders
987 Prvá kniha urèená pre Vim. ©peciálne vhodná pre zaèiatoèníkov.
988 Obsahuje mno¾stvo príkladov a obrázkov.
989 Pozri na http://iccf-holland.org/click5.html
991 Táto kniha je star¹ia a je viac o Vi ako o Vim, ale je tie¾ odporúèaná:
992 Learning the Vi Editor - od Linda Lamb
993 Vydavateµ: O'Reilly & Associates Inc.
994 Je to dobrá kniha pre získanie vedomostí o práci s editorom Vi.
995 ©ieste vydanie obsahuje tie¾ informácie o editore Vim.
997 Táto výuka bola napísaná autormi Michael C. Pierce a Robert K. Ware,
998 Colorado School of Mines s pou¾itím my¹lienok dodanými od Charles Smith,
999 Colorado State University. E-mail: bware@mines.colorado.edu.
1001 Modifikované pre Vim od Bram Moolenaar.
1003 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1005 Preklad do Slovenèiny: ¥ubo¹ Èelko
1006 e-mail: celbos@inmail.sk
1007 Last Change: 2006 Apr 18