blob: eda00a5d3a46a52b37271a3e4cd911666bbec40e [file] [log] [blame]
Bram Moolenaar42ebd062016-07-17 13:35:14 +02001===============================================================================
2= Добре дошли в самоучителя на V I M - Версия 1.7 =
3===============================================================================
4
5 Vim е много мощен редактор с много команди, твърде много, за да бъдат
6 обяснени в ръководство като това. Този самоучител е създаден, за да обясни
7 достатъчно от тях, така че да можете да използвате Vim за всякакви цели.
8
9 Приблизителното време, необходимо, за да направите уроците е 25-30 минути, в
10 зависимост от това колко време използвате за да се упражнявате.
11
12 ВНИМАНИЕ!
13 Командите в уроците ще променят текста им. Запишете файла другаде, за да
14 се упражнявате (ако сте отворили самоучителя с "vimtutor", това вече е
15 направено).
16
17 Важно е да се запомни, че този самоучител е съставен с цел да се учите
18 чрез употреба. Това означава да изпълнявате командите, за да ги научите
19 правилно. Ако просто четете текста, ще забравите командите!
20
21
22 Сега, уверете се, че клавишът CapsLock не е натиснат и натиснете клавиша
23 j няколко пъти, така че Урок 1.1 да да се побере на екрана.
24
25~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26 Урок 1.1: ПРИДВИЖВАНЕ НА ПОКАЗАЛЕЦА
27
28
29 ** За да преместите показалеца, натискайте клавишите h,j,k,l както е указано. **
30 ^
31 k Подсказка: Клавишът h е вляво и премества показалеца наляво.
32 < h l > Клавишът l е вдясно и премества показалеца надясно.
33 j Клавишът j прилича на стрелка, насочена надолу.
34 v
35 1. Движете показалеца насам-натам по екрана, докато свикнете.
36
37 2. Задръжте клавиша за преместване надолу(j), докато започне да повтаря
38 действието си. Сега знаете как да се придвижите до следващия урок.
39
40 3. Използвайте клавиша за движение надолу, за да стигнете до Урок 1.2.
41
42Важно! Ако се окаже, че не сте сигурни какво сте въвели, натиснете <ESC>, за да
43 отидете в нормален режим. След това въведете желаната команда отново.
44
45Важно! Клавишите със стрелки би трябвало също да работят, но ако използвате
46 hjkl ще можете да се придвижвате по-бързо, като свикнете. Наистина!
47
48~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49 Урок 1.2: Излизане от VIM (quit)
50
51
52 Важно!!! Преди да изпълните която и да е от стъпките по-долу, прочетете
53 целия урок!!!
54
55 1. Натиснете клавиша <ESC> (за да се уверите, че сте в нормален режим).
56
57 2. Напишете: :q! <ENTER>.
58 Така излизате от редактора без да записвате промените, които сте направили.
59
60 3. Върнете се тук като изпълните командата, с която пуснахте този самоучител.
61 Това ще да е: vimtutor <ENTER>
62
63 4. Ако сте сигурни, че сте запомнили стъпките от 1 до 3, изпълнете ги и
64 влезте отново в редактора.
65
66Внимание! :q! <ENTER> отхвърля всички промени, които сте направили. След
67 няколко урока ще се научите как да записвате промени във файл.
68
69 5. Придвижете показалеца надолу до Урок 1.3.
70
71
72~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 Урок 1.3: ПРОМЯНА НА ТЕКСТ - ИЗТРИВАНЕ (DELETE)
74
75
76 ** Натиснете x , за да изтриете буквата под показалеца. **
77
78 1. Придвижете показалеца до реда по-долу, означен със --->.
79
80 2. За да поправите грешките, придвижете показалеца върху буквата,
81 която ще триете.
82
83 3. Натиснете клавиша x , за да изтриете нежеланата буква.
84
85 4. Повтаряйте стъпки от 2 до 4 докато поправите изречението.
86
87---> Кккравата сскоочии връъъъзз ллуннатааа.
88
89 5. След като горния ред е вече поправен, можем да отидем на Урок 1.4.
90
91Важно! Като правите този урок, не се опитвайте да помните, учете се с правене.
92
93
94
95~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96 Урок 1.4: ПРОМЯНА НА ТЕКСТ - ВЪВЕЖДАНЕ (INSERT)
97
98
99 ** Бележка на преводача **
100 В упражненията нататък ще ви се налага да въвеждате текст на български. Vim
101 притежава собствена система за въвеждане на не-латински букви. За да можете
102 да пишете български букви, докато сте в режим за въвеждане, и едновременно с
103 това командите ви да се въвеждат с латински букви, направете следното:
104
105 Натиснете <ESC>, за да се уверите, че не сте в режим за въвеждане.
106
107 Въведете ":setlocal keymap=bulgarian-phonetic" или
108 ":setlocal keymap=bulgarian-bds", без кавичките, в зависимост от това коя
109 подредба предпочитате. Забележете, че щом въведете : , те ще се появят в
110 дъното на екрана. Вече можете да въвеждате български букви без да ползвате
111 системната клавиатурна подредба.
112
113 За да превключвате между двете подредби, докато сте в режим за въвеждане
114 натискайте CTRL-^ (дръжте натиснати CTRL и SHIFT и натиснете ^).
115
116
117 ** Натиснете i за да въведете текст. **
118
119 1. Придвижете показалеца до първия ред долу, означен със --->.
120
121 2. За да направите първия ред същия като втория, придвижете показалеца върху
122 първата буква СЛЕД мястото, където трябва да бъде въведен текста.
123
124 3. Натиснете i и напишете каквото трябва да се добави.
125
126 4. След поправяне на всяка грешка, натискайте <ESC>, за да се върнете към
127 Нормален режим. Повтаряйте стъпки от 2 до 4, докато поправите изречението.
128
129---> Част текс липс н тзи .
130---> Част от текста липсва на този ред.
131
132 5. След като усвоите въвеждането на текст, отидете на Урок 1.5.
133
134
135
136~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
137 Урок 1.5: ПРОМЯНА НА ТЕКСТ - ДОБАВЯНЕ (APPEND)
138
139
140 ** Натиснете A (Shift+a) , за да добавите текст. **
141
142 1. Придвижете показалеца до реда долу, означен със --->.
143 Няма значение на коя буква в реда се намира показалеца.
144
145 2. Натиснете A и добавете каквото е нужно.
146
147 3. След като сте добавили каквото е нужно, натиснете <ESC>, за да се върнете
148 в Нормален режим.
149
150 4. Придвижете показалеца до втория ред означен със ---> и повторете стъпки 2,
151 и 3, за да поправите изречението.
152
153---> Има текст, който липсва
154 Има текст, които липсва на този ред.
155---> Тук също има текст,
156 Тук също има текст, който липсва.
157
158 5. След като овладеете добавянето на текст, отидете на Урок 1.6.
159
160~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
161 Урок 1.6: ПРОМЯНА НА ФАЙЛ
162
163 ** Използвайте :wq (write and quit), за да запишете файла и
164 излезете. **
165
166 Внимание! Преди да изпълните която и да е от стъпките долу, прочетете целия урок!!
167
168 1. Излезте от самоучителя, както направихте в Урок 1.2: :q!
169 Или, ако имате достъп до друг терминал направете следното там.
170
171 2. На командния ред напишете следното и натиснете <ENTER>: vim tutor <ENTER>
172 'vim' е командата която стартира редактора Vim, 'tutor' е името на файла,
173 които искате да промените. Използвайте файл който може да бъде променян.
174
175 3. Въвеждайте и изтривайте текст по начините, научени в предишните уроци.
176
177 4. Запишете файла и излезте от Vim с: :wq <ENTER>
178
179 5. Ако сте излезли от vimtutor в стъпка 1, пуснете го отново и се придвижете
180 надолу до обобщението, което следва.
181
182 6. След като прочетете и разберете горните стъпки, направете ги.
183
184~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
185 Урок 1 ОБОБЩЕНИЕ
186
187
188 1. Показалецът се премества като използвате клавишите със стрелки или с клавишите.
189 h (наляво) j (надолу) k (нагоре) l (надясно)
190
191 2. За да пуснете Vim от командния ред, напишете: vim ИМЕ-НА-ФАЙЛ <ENTER>
192
193 3. За да излезете от Vim, напишете:
194 <ESC> :q! <ENTER> за да отхвърлите всички промени..
195 ИЛИ напишете: <ESC> :wq <ENTER> за да запишете промените.
196
197 4. За да изтриете буква намираща се под показалеца, натиснете: x
198
199 5. За да въведете или добавите текст, натиснете:
200 i въведете текста, натиснете <ESC>. Въвежда преди показалеца.
201 A добавете текста, натиснете <ESC>. Добавя в края на реда.
202
203Внимание! С натискане на <ESC> преминавате в Нормален режим или отменяте
204 нежелана, недописана команда.
205
206Сега продължете с Урок 2.
207
208~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
209 Урок 2.1: КОМАНДИ ЗА ИЗТРИВАНЕ
210
211
212 ** Въведете dw , за да изтриете дума. **
213
214 1. Натиснете <ESC> , за да се уверите, че сте в Нормален режим.
215
216 2. Придвижете показалеца до реда по-долу, означен със --->.
217
218 3. Придвижете показалеца до началото на думата, която трябва да бъде изтрита.
219
220 4. Натиснете последователно dw и думата ще изчезне.
221
222 Забележка! Буквата d ще се появи на последния ред от екрана, когато я
223 натиснете. Vim ви чака да натиснете w . Ако видите друга буква, значи сте
224 натиснали грешен клавиш. Натиснете <ESC> и започнете отначало.
225
226---> Има някои думи хартия, които забава не са част от това изречение.
227
228 5. Повтаряйте стъпки 3 и 4, докато поправите изречението и преминете към Урок 2.2.
229
230
231~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 Урок 2.2: ОЩЕ КОМАНДИ ЗА ИЗТРИВАНЕ
233
234
235 ** Въведете d$ , за да изтриете всичко до края на реда. **
236
237 1. Натиснете <ESC> , за да се уверите, че сте в Нормален режим.
238
239 2. Придвижете показалеца до реда по-долу, означен със --->.
240
241 3. Придвижете показалеца до правилния ред (СЛЕД първата .).
242
243 4. Натиснете последователно d$ , за да изтриете всичко до края на реда.
244
245---> Някой е въвел края на този ред двукратно. края на този ред двукратно.
246
247
248 5. Отидете до Урок 2.3, за да разберете какво се случва.
249
250
251
252
253
254~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
255 Урок 2.3: ЗА ОПЕРАТОРИТЕ И ДВИЖЕНИЯТА
256
257
258 Много команди, които променят текст се състоят от оператор и движение.
259 Форматът за командата за изтриване с оператора d (delete) е както следва.
260
261 d движение
262
263 Където:
264 d е операторът за изтриване.
265 движение - върху какво ще се приложи операторът (списъкът долу).
266
267 Кратък списък с движения:
268 w - (word) до началото на следващата дума като се ИЗКЛЮЧВА първата ѝ буква.
269 e - (end of word) до края на текущата дума, ВКЛЮЧИТЕЛНО последната буква.
270 $ - До края на реда, ВКЛЮЧИТЕЛНО последния символ.
271
272 Така, като въведете de ще изтриете от мястото на показалеца до края на
273 думата.
274
275Забележка! Като натиснете само клавиша за движение, ще преместите показалеца на
276 съответното място.
277
278~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
279 Урок 2.4: ИЗПОЛЗВАНЕ НА БРОЯЧ ПРИ ДВИЖЕНИЕ
280
281
282 ** Ако въведете число преди движението, то се повтаря толкова пъти
283 колкото е числото. **
284
285 1. Придвижете показалеца до началото на реда долу , означен със --->.
286
287 2. Въведете 2w , за да преместите показалеца с две думи напред.
288
289 3. Въведете 3e , за да преместите показалеца до третата дума напред.
290
291 4. Въведете 0 (нула), за да отидете в началото на реда.
292
293 5. Повтаряйте стъпки 2 и 3 с различни числа.
294
295---> Това е просто ред с думи, в който можете да се движите.
296
297 6. Отидете на Урок 2.5.
298
299
300
301~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
302 Урок 2.5: ИЗПОЛЗВАЙТЕ БРОЯЧ, ЗА ДА ТРИЕТЕ ПОВЕЧЕ
303
304
305 ** Ако въведете число преди оператор, действието се повтаря толкова пъти
306 колкото е числото. **
307
308 Както е упоменато горе, за да изтриете повече при използване на оператора за
309 изтриване заедно с движение, трябва да въведете числото преди движението:
310 d число движение
311
312 1. Придвижете показалеца до първата дума, изписана с ГОЛЕМИ БУКВИ в реда,
313 означен със --->.
314
315 2. Въведете d2w , за да изтриете думите, написани с ГОЛЕМИ БУКВИ.
316
317 3. Повторете стъпки 1 и 2, за да изтриете последователните
318 думи, изписани с големи букви с една команда.
319
320---> този АБВ ГДЕ ред ЖЗИЙ КЛ МНОП РСТ с думи УФХ ЦЧШ ЩЪЬЮЯ е почистен.
321
322
323
324
325
326~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
327 Урок 2.6: РАБОТА С РЕДОВЕ
328
329
330 ** Въведете dd , за да изтриете цял ред. **
331
332 Понеже често се налага да се трие цял ред, създателите на Vi са решили, че ще
333 е по-лесно да се натисне два пъти d, за да се изтрие ред.
334
335 1. Придвижете показалеца на втория ред в абзаца долу.
336 2. Въведете dd , за да изтриете реда.
337 3. Сега отидете на четвъртия ред.
338 4. Въведете 2dd , за да изтриете два реда.
339
340---> 1) Розите са червени,
341---> 2) Калта е забавление,
342---> 3) Теменужките са сини,
343---> 4) Аз имам кола,
344---> 5) Часовниците показват часа,
345---> 6) Захарта е сладка,
346---> 7) Както и ти.
347
348
349~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
350 Урок 2.7: ОТМЯНА
351
352
353 ** Натиснете u , за да отмените (undo) последната команда; U , за
354 отмяна на всички команди на текущия ред. **
355
356 1. Придвижете показалеца до началото на реда долу , означен със ---> и го
357 поставете на първата грешка.
358 2. Въведете x , за да изтриете първата нежелана буква.
359 3. Сега натиснете u , за да отмените последната изпълнена команда.
360 4. Този път поправете всички грешки като използвате командата x .
361 5. Сега въведете главно U (SHIFT+U), за да върнете реда в първоначалния му вид.
362 6. Сега натиснете u няколко пъти, за да отмените предишното U и командите
363 преди него.
364 7. Сега натиснете CTRL-R (redo) (дръжте клавиша CTRL натиснат, докато натискате R),
365 неколкократно, за да изпълните отново командите (да отмените отмените).
366
367---> Пооправеете грешшките нна този реди и ги заменете с отмянаа.
368
369 8. Това са много полезни команди. Сега отидете на обобщението за Урок 2.
370
371
372
373
374~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
375 Урок 2 ОБОБЩЕНИЕ
376
377
378 1. За да изтриете всичко от показалеца до началото на следващата дума, въведете dw
379 2. За да изтриете всичко от показалеца до края на реда, въведете d$
380 3. За да изтриете цял ред, въведете dd
381
382 4. За да повторите движение въведете преди него число 2w
383 5. Форматът за команда за промяна е:
384 команда [число] движение
385 където:
386 оператор - това, което трябва да се направи (заповед), например d за изтриване
387 [число] - незадължителен брой повторения на движението
388 движение - придвижване в текста, върху който се работи, например w (word),
389 $ (до края на реда) и т.н.
390
391 6. За да се придвижите до началото на ред, натиснете нула - 0
392
393 7. За да отмените предишни действия натиснете u (малка буква u)
394 За да отмените всички промени на един ред въведете U (главна буква U)
395 За да отмените отмените, натиснете CTRL-R
396
397~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
398 Урок 3.1: КОМАНДАТА ЗА ПОСТАВЯНЕ
399
400
401 ** Въведете p , за да поставите изтрит преди това текст след
402 показалеца.**
403
404 1. Придвижете показалеца до първия ред, означен със ---> долу.
405
406 2. Въведете dd , за да изтриете реда и да го запишете в регистъра на Vim.
407
408 3. Придвижете показалеца до реда, означен със c), НАД мястото, където трябва да
409 се постави изтрития ред.
410
411 4. Въведете p , за да поставите (put) реда под реда, на който е показалеца.
412
413 5. Повтаряйте стъпки от 2 до 4, за да подредите правилно редовете.
414
415---> d) Ти можеш ли да учиш?
416---> b) Теменужките са сини,
417---> c) Уменията се научават,
418---> a) Розите са червени,
419
420
421
422~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
423 Урок 3.2: КОМАНДАТА ЗА ЗАМЕСТВАНЕ
424
425
426 ** Въведете rx , за да заместите (replace) буквата под показалеца с x . **
427
428 1. Придвижете показалеца до първия ред, означен със ---> долу.
429
430 2. Наместете показалеца така, че да се окаже върху първата грешка.
431
432 3. Въведете r и след това буквата, с която ще замествате.
433
434 4. Повтаряйте стъпки 2 и 3 докато първият ред стане същия като втория.
435
436---> Катишо тизе гад и песен, никей а нарескъл гришнета бливочи!
437---> Когато този ред е писан, някой е натискал грешните клавиши!
438
439 5. Сега отидете на урок 3.3.
440
441Забележка! Помнете, че трябва да се учите, като се упражнявате, а не като се
442 опитвате да запомните.
443
444
445
446~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
447 Урок 3.3: ОПЕРАТОРЪТ ЗА ПРОМЯНА
448
449
450 ** За да промените от мястото на показалеца до края на дума, въведете ce . **
451
452 1. Придвижете показалеца до първия ред долу, означен със --->.
453
454 2. Поставете показалеца върху з в тзии.
455
456 3. Въведете ce и правилнят остатък от думата ( в този случай ози).
457
458 4. Натиснете <ESC> и отидете на следващата група букви, които трябва да се променят.
459
460 5. Повтаряйте стъпки 3 и 4 докато първото изречение стане същото като второто.
461
462---> На тзии ред иам неклико дмуи, ктоио требав да се прмнеято като се изповлза оепртореа за промяна.
463---> На този ред има няколко думи, които трябва да се променят като се използва оператора за промяна.
464
465 Забележете, че ce изтрива думата и преминавате в режим за въвеждане.
466
467
468
469~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
470 Урок 3.4: ОЩЕ ПРОМЕНИ С ИЗПОЛЗВАНЕ НА c
471
472
473 ** Операторът за промяна се използва със същите движения както при триене **
474
475 1. Операторът за промяна работи по същия начин като оператора за триене.
476 Форматът е:
477
478 c [число] движение
479
480 2. Движенията са същите, например: w (word) и $ (край на ред).
481
482 3. Отидете на първия ред долу, отбелязан с --->.
483
484 4. Придвижете показалеца до първата грешка.
485
486 5. Въведете c$ и допишете остатъка от реда така, че да стане същия като
487 долния ред. След това натиснете <ESC>.
488
489---> Краят на този ред трябва да изглежда като долния.
490---> Краят на този ред трябва да бъде поправен с командата c$.
491
492Забележка! Можете да използвате клавиша Backspace за поправка на грешки, докато въвеждате.
493
494~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
495 Урок 3 ОБОБЩЕНИЕ
496
497
498 1. За да поставите изтрит преди това отнякъде текст, въведете p .
499 Това поставя изтрития текст СЛЕД мястото, на което се намира показалеца.
500 Ако сте изтрили преди това цял ред, той ще бъде поставен като следващ ред.
501
502 2. За да заместите буква, намираща се под показалеца, въведете r и след
503 това буквата, с която искате да заместите.
504
505 3. Операторът за промяна ви позволява да променяте текста от мястото на
506 показалеца до мястото, указано от съответното движение. Например, въведете
507 ce за да изтриете от мястото на показалеца до края на думата, или,
508 въведете c$ ,за да замените с нов текст до края на реда.
509
510 4. Форматът на оператора за промяна е:
511
512 c [число] движение
513
514Сега отидете на следващия урок.
515
516
517
518~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
519 Урок 4.1: МЕСТОПОЛОЖЕНИЕ НА ПОКАЗАЛЕЦА И СЪСТОЯНИЕ НА ФАЙЛА
520
521 ** Въведете CTRL-G, за да видите къде се намирате във файла и неговото
522 състояние. Въведете G , за да отидете на някой ред. **
523
524Внимание! Прочетете целия урок, преди да изпълните стъпките в него!
525
526 1. Задръжте натиснат клавиша Ctrl и натиснете g . Това действие го наричаме
527 CTRL-G. В дъното на екрана ще се появи съобщение с името на файла и
528 мястото, където се намира показалеца. Запомнете номера на реда за стъпка 3.
529
530Забележка: Може би виждате мястото на показалеца в долния десен ъгъл на екрана.
531Това се случва, когато настройката 'ruler' е зададена (вижте :help 'ruler' )
532
533 2. Натиснете G , за да отидете в края на файла.
534 Въведете gg , за да отидете в началото на файла.
535
536 3. Въведете номера на реда, на който бяхте и след това натиснете G . Това ще
537 ви върне на мястото където бяхте, когато натиснахте CTRL-G.
538
539 4. Ако вече се чувствате уверени, изпълнете стъпките от 1 до 3.
540
541~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
542 Урок 4.2: КОМАНДАТА ЗА ТЪРСЕНЕ
543
544
545 ** Въведете / , последвана от фраза, за да потърсите фразата. **
546
547 1. В Нормален режим въведете / символа. Забележете, че / (наклонената
548 черта) и показалеца се появяват в дъното на екрана, както се случва при
549 използването на командата : .
550
551 2. Сега въведете 'грешшшка' <ENTER>. Това е думата, която ще търсите.
552
553 3. За да търсите същата дума отново, натиснете n .
554 За да търсите същата дума отново, но в обратната посока, натиснете N .
555
556 4. За да търсите за фраза в обратната посока използвайте ? вместо / .
557
558 5. За да се върнете, там където сте били, натиснете CTRL-O (задръжте Ctrl
559 натиснат докато натискате клавиша o). Повторете, за да отидете още
560 по-назад. С CTRL-I пък отивате напред.
561
562---> "грешшшка" се се пише "грешка" грешшшка е грешка.
563Внимание! Когато търсенето достигне до края на файла, то ще продължи от
564началото на файла, освен ако настройката 'wrapscan' е била нулирана.
565
566~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
567 Урок 4.3: ТЪРСЕНЕ НА СЪОТВЕТСТВАЩИ СКОБИ
568
569
570 ** Въведете % , за да на мерите съответната ),], или } . **
571
572 1. Поставете показалеца върху някоя скоба (, [, или { в реда долу, означен със --->.
573
574 2. Сега Въведете символа % .
575
576 3. Показалецът ще се премести върху съответстващата фигурна, квадратна или
577 обикновена скоба.
578
579 4. Въведете % , за да преместите показалеца на другата съответстваща скоба.
580
581 5. Придвижете показалеца до друга (,),[,],{ или } скоба и вижте какво прави % .
582
583---> Това ( ред за проверка с различни скоби като (, [ ] и { } в него. ))
584
585
586Забележка! Това е много полезно за откриване на грешки на програми с несъответстващи скоби.
587
588
589
590~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
591 Урок 4.4: КОМАНДАТА ЗА ЗАМЕСТВАНЕ
592
593
594 ** Въведете :s/старо/ново/g за да заместите 'старо' със 'ново'. **
595
596 1. Придвижете показалеца до реда долу, означен със --->.
597
598 2. Въведете :s/тоо/то <ENTER> . Забележете, че командата замества само
599 първото съвпадение с "тоо" на реда.
600
601 3. Сега въведете :s/тоо/то/g . Като добавите знака g (globally) това
602 означава, че искате да се заместят всички съвпадения, навсякъде в реда.
603
604---> Най-добротоо време да сте на полетоо е лятотоо.
605
606 4. За да заместите всяко съвпадение на дадена последователност от символи
607 между два реда:
608 Въведете :#,#s/old/new/g където #,# са числата на редовете
609 (първи и последен), обхватът, в който искате да
610 стане заместването.
611 Въведете :%s/old/new/g за да промените всяко съвпадение в целия файл.
612 Въведете :%s/old/new/gc да бъдете питани при всяко съвпадение, дали
613 да се замести или не.
614
615~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
616 Урок 4 ОБОБЩЕНИЕ
617
618
619 1. CTRL-G показва къде се намирате във файл и състоянието му.
620 G ви отвежда до края на файла.
621 число G ви отвежда до съответния ред.
622 gg ви отвежда до първия ред.
623
624 2. Ако натиснете / последвано от низ за търсене, търсите НАПРЕД.
625 Ако натиснете / последвано от низ за търсене, търсите НАЗАД.
626 След търсене, въведете n , за да намерите следващо съвпадение с низа,
627 който търсите в същата посока, в която търсите или N , за да търсите в
628 обратната посока.
629 CTRL-O ви отвежда назад до старо място във файла, CTRL-I обратно до
630 по-нови места.
631
632 3. Ако натиснете % докато показалеца се намира на (,),[,],{, или }, той
633 отива до съответстващата скоба.
634
635 4. За да заместите един низ с друг, въведете :s/низ/друг
636 За да заместите един низ с друг навсякъде в един ред, въведете :s/низ/друг/g
637 За да заместите в даден обхват от редове, въведете :#,#s/низ/друг/g
638 За да заместите всички съвпадения във файл, въведете :%s/низ/друг/g
639 За да бъдете питани при всяко съвпадение, добавете 'c' :%s/низ/друг/gc
640
641~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
642 Урок 5.1: КАК ДА ИЗПЪЛНИМ ВЪНШНА КОМАНДА
643
644
645 ** Въведете :! , последвано от външна команда, за да я изпълните. **
646
647 1. Въведете познатата ви вече : , за да поставите показалеца в дъното на
648 екрана. Това ви позволява да въвеждате команда.
649
650 2. Сега въведете ! (удивителен знак). Това ви позволява да изпълнявате
651 всякакви външни команди.
652
653 3. Например, след ! въведете ls и след това натиснете <ENTER>. Това ще
654 ви покаже списък с файловете и папките точно както ако сте в терминал.
655 Напишете :!dir ако ls не работи.
656
657Забележка: По този начин можете да изпълнявате всякакви външни команди и с аргументи.
658
659Забележка: Всички команди, започващи с : завършват с натискането на <ENTER>
660 От сега нататък няма да го споменаваме постоянно.
661
662
663~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
664 Урок 5.2: ПОВЕЧЕ ЗА ЗАПИСВАНЕТО НА ФАЙЛОВЕ
665
666
667 ** За да запишете промените, направени в текста въведете :w ИМЕНАФАЙЛ. **
668
669 1. Въведете :!dir или :!ls за да видите списък със съдържанието на
670 текущата папка. Вече знаете, че трябва да натиснете <ENTER> след това.
671
672 2. Изберете име на файла, което не съществува, например TEST.
673
674 3. Сега въведете :w TEST (където TEST е името на файла).
675
676 4. Това записва целия фаил(Самоучителя за Vim) под името TEST.
677 За да проверите, напишете :!dir или :!ls отново за да видите вашата
678 папка.
679
680Забележете! Ако излезете от Vim и го пуснете отново като напишете на командния
681 ред vim TEST , файлът ще бъде точно копие на самоучителя, когато
682 сте го записали.
683
684 5. Сега изтрийте файла като напишете MS-DOS): :!del TEST
685 или какъвто и да е Unix) :!rm TEST
686
687
688~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
689 Lesson 5.3: ИЗБОР НА ТЕКСТ ЗА ЗАПИС
690
691
692 ** За да запишете част от файла, натиснете v , следвано от движение :w FILENAME **
693
694 1. Придвижете показалеца на този ред.
695
696 2. Натиснете v и придвижете показалеца пет реда надолу. Забележете, че
697 текстът се осветява.
698
699 3. Натиснете : . В дъното на екрана ще се появи :'<,'> .
700
701 4. Напишете w TEST , където TEST е име на файл, който все още не съществува.
702 Уверете се, че виждате :'<,'>w TEST преди да натиснете <ENTER>.
703
704 5. Vim ще запише избраните редове във файла TEST. Използвайте :!dir или :!ls ,
705 за да го видите. Не го изтривайте все още! Ще го използваме в следващия урок.
706
707Забележете! Като натиснете v започвате видимо избиране (Visual selection).
708 Може да движите показалеца наоколо, за да направите избраното
709 по-голямо или по-малко. След което, можете да използвате оператор,
710 за да направите нещо с текста. Например, d изтрива текста.
711
712~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
713 Lesson 5.4: ИЗВЛИЧАНЕ И СЛИВАНЕ НА ФАЙЛОВЕ
714
715
716 ** За да вмъкнете съдържание на файл в текущия, въведете :r ИМЕНАФАЙЛ **
717
718 1. Поставете показалеца над този ред.
719
720Важно! След като изпълните стъпка 2, ще видите текста от Урок 5.3. След това
721 отидете НАДОЛУ за да видите този урок отново.
722
723 2. Сега извлечете файла TEST като използвате командата :r TEST , където TEST
724 е името на файла, което сте използвали. Файла, който извлекохте е вмъкнат
725 под реда, на който се намира показалеца.
726
727 3. За да проверите, че файла е извлечен, отидете назад и ще забележите, че
728 има два урока 5.3 - оригинала и копието от извлечения файл.
729
730Важно! Също така можете да четете изхода от външна команда.
731 :r !ls прочита показаното от ls и го поставя под показалеца.
732
733
734~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
735 Урок 5 ОБОБЩЕНИЕ
736
737
738 1. :!команда изпълнява външна команда.
739
740 Някои полезни примери са:
741 (MS-DOS) (Unix)
742 :!dir :!ls - показва съдържанието на директорията, в която
743 се намирате.
744 :!del FILENAME :!rm FILENAME - изтрива файла FILENAME.
745
746 2. :w FILENAME записва текущия файл под името FILENAME.
747
748 3. v движение :w FILENAME записва видимо избраните редове във файл с име
749 FILENAME.
750
751 4. :r FILENAME извлича съдържанието на файла с име FILENAME и го вмъква под
752 мястото, където се намира показалеца
753
754 5. :r !dir чете изхода на командата dir и го поставя под мястото, на
755 което се намира показалеца.
756
757
758~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
759 Lesson 6.1: КОМАНДАТА ЗА ОТВАРЯНЕ
760
761
762 ** Натиснете o , за да отворите ред под показалеца и да преминете в режим за въвеждане. **
763
764 1. Придвижете показалеца до реда долу означен със --->.
765
766 2. Натиснете клавиша o , за да отворите нов ред ПОД показалеца и да преминете в режим за въвеждане.
767
768 3. Сега въведете някакъв текст и натиснете <ESC> , за да излезете от режима
769 за въвеждане.
770
771---> След като натиснете o , показалеца отива на новоотворения ред и
772 преминавате в режим за въвеждане.
773
774 4. За да отворите нов ред НАД показалеца, просто въведете главно O вместо
775 малко. Пробвайте това на долния ред.
776
777---> Отворете нов ред над този, като натиснете O , докато показалеца е на
778 този ред.
779
780
781
782
783~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
784 Урок 6.2: КОМАНДАТА ЗА ДОБАВЯНЕ
785
786
787 ** Натиснете a , за да въведете текст СЛЕД показалеца. **
788
789 1. Придвижете показалеца до началото на реда долу, означен със --->.
790
791 2. Натискайте e , докато показалеца отиде до края на ре .
792
793 3. Натиснете a (малка буква), за да добавите текст СЛЕД показалеца.
794
795 4. Допълнете думата както е на следващия ред. Натиснете <ESC> , за да
796 излезете от режима за въвеждане.
797
798 5. Използвайте e , за да се придвижите до следващата непълна дума и
799 повторете стъпки 3 и 4.
800
801---> Този ре ви позволява да упраж добав на тек в ред.
802---> Този ред ви позволява да упражнявате добавяне на текст в ред.
803
804Важно! a, i и A всички ви отвеждат в режим за въвеждане. Единствената разлика е
805 в това, къде се въвеждат знаците.
806
807~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
808 Урок 6.3: ДРУГ НАЧИН ЗА ЗАМЕСТВАНЕ
809
810
811 ** Натиснете главно R , за да заместите повече от един знак. **
812
813 1. Придвижете показалеца до първия ред долу означен със --->. Придвижете
814 показалеца до началото на първото xxx.
815
816 2. Сега натиснете R и въведете числото от долния ред, така че да замести xxx .
817
818 3. Натиснете <ESC> , за да излезете от режима за заместване. Забележете, че
819 остатъка от реда остава непроменен.
820
821 4. Повторете стъпките, за да заместите другото xxx.
822
823---> Ако добавите 123 към xxx ще получите xxx.
824---> Ако добавите 123 към 456 ще получите 579.
825
826Важно! Режимът за заместване е същия като режима за въвеждане, но всеки въведен знак изтрива съществуващ знак.
827
828~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
829 Урок 6.4: КОПИРАНЕ И ЗАМЕСТВАНЕ
830
831
832 ** Използвайте операторът y (yank), за да копирате текст и p (paste),
833 за да го поставите. **
834
835 1. Отидете до реда, означен със ---> долу и поставете показалеца след "a)".
836
837 2. Преминете във режим за видимо избиране като използвате v и преместете
838 показалеца точно пред "първата".
839
840 3. Натиснете y , за да копирате (yank) осветения текст.
841
842 4. Преместете показалеца на края на следващия ред с j$
843
844 5. Натиснете p ,за да поставите (paste) текста. След това натиснете пак <ESC> .
845
846 6. Използвайте режима за видимо избиране, за да изберете " точка.", вземете
847 го с y , отидете на края на следващия ред с j$ и поставете текста с p .
848
849---> a) това е първата точка.
850 b)
851
852 Важно! Можете да използвате y също и като оператор. yw взима цяла дума.
853~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
854 Урок 6.5: ЗАДАВАНЕ НА НАСТРОЙКА
855
856
857 ** Задайте настройка, та при търсене и заместване, да не се различават
858 големи и малки букви. **
859
860 1. Търсете 'разли' като въведете /разли <ENTER>
861 Повторете няколко пъти като натискате n .
862
863 2. Задайте настройктата 'ic' (Ignore case) като въведете :set ic
864
865 3.Сега търсете 'разли' отново като натискате n .
866 Забележете, че сега Разлика и РАЗЛИКА също биват намерени.
867
868 4. Задайте настройките 'hlsearch' (highlight search)
869 и 'incsearch' (incremental search): :set hls is
870 Тези настройки означават съответно "осветяване на намереното"
871 и "частично търсене".
872
873 5. Сега въведете отново командата за търсене и вижте какво се случва:
874 /разли <ENTER>
875
876 6. За да изключите нечувствителното към регистъра на буквите търсене, въведете
877 :set noic
878
879Забележка! За да премахнете осветяването, въведете :nohlsearch
880Забележка! Ако искате да не се прави разлика между главни и малки букви само
881 при едно търсене, въведете \c (латинско ц) в края на низа, който
882 търсите: /разлика\c <ENTER>
883
884~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
885 Урок 6 ОБОБЩЕНИЕ
886
887 1. Натиснете o , за да отворите нов ред ПОД показалеца и да преминете в режим за въвеждане.
888 Натиснете O , за да отворите ред НАД показалеца.
889
890 2. Натиснете a , за да въведете текст СЛЕД показалеца.
891 Натиснете A , за да въведете текст след края на реда.
892
893 3. Командата e ви отвежда в края на дума.
894
895 4. Операторът y взима (yank) текст, а p го поставя (paste).
896
897 5. Ако въведете R , докато сте в нормaлен режим, преминавате в режим за
898 заместване, докато натиснете <ESC>.
899
900 6. Ако напишете ":set xxx", задавате настройката "xxx". Ето някои настройки:
901 'ic' 'ignorecase' Търсенето не прави разлика между главни и малки букви
902 'is' 'incsearch' Показва частични съвпадения на търсеното
903 'hls' 'hlsearch' Осветява всички намерени съвпадения
904 Можете да ползвате кратките или дългите наименувания на настройките
905
906 7. Поставете "no" отпред за да изключите настройка: :set noic
907
908~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
909 Урок 7.1: КАК ДА НАМЕРИМ ПОМОЩ
910
911
912 ** Ползвайте наличната система за помощ **
913
914 Vim върви с изчерпателна система за помощ. За да започнете, опитайте някоя от
915 следните три възможности:
916 - натиснете клавиша <HELP> (ако имате такъв на клавиатурата си)
917 - натиснете клавиша <F1> (ако имате такъв на клавиатурата си)
918 - напишете :help <ENTER>
919
920 Прочетете текста в прозореца за помощ, за да разберете как работи системата.
921 Натиснете CTRL-W CTRL-W (два пъти CTRL-W), за да прескочите от един прозорец в друг.
922 Въведете :q <ENTER> , за да затворите прозореца за помощ.
923
924 Можете да намерите помощ по всякакъв въпрос като напишете
925 ":help" именакоманда. Опитайте следните (не забравяйте да натискате <ENTER>):
926
927 :help w
928 :help c_CTRL-D
929 :help insert-index
930 :help user-manual
931~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
932 Урок 7.2: СЪЗДАЙТЕ СКРИПТ ЗА СТАРТИРАНЕ
933
934
935 ** Включване на възможностите на Vim **
936
937 Vim има много повече възможности от Vi, но по подразбиране повечето от тях не
938 са включени. За да започнете да ползвате тези възможности, трябва да
939 създадете файл, наречен "vimrc".
940
941 1. Създайте вашия файл "vimrc". В зависимост от вашата операционна система:
942 :e ~/.vimrc за всеки вид Unix
943 :e $VIM/_vimrc за MS-Windows
944
945 2. Сега прочетете съдържанието на примерния файл "vimrc":
946 :r $VIMRUNTIME/vimrc_example.vim
947
948 3. Запишете файла с:
949 :w
950
951 Следващият път като пуснете Vim той ще осветява текста във файловете,
952 които отваряте в зависимост от синтаксиса им.
953 Можете да добавите всичките си предпочитани настройки в този файл.
954 За повече информация, въведете :help vimrc-intro
955
956~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
957 Урок 7.3: ДОВЪРШВАНЕ
958
959
960 ** Довършване на команди с CTRL-D и <TAB> **
961
962 1. Уверете се, че Vim е в несъвместим режим: :set nocp
963
964 2. Вижте какви файлове има в папката ви: :!ls или :!dir
965
966 3. Въведете начлото на команда: :e
967
968 4. Натиснете CTRL-D и Vim ще ви покаже команди, започващи с "e".
969
970 5.Натиснете <TAB> и Vim ще допълни командата до ":edit".
971
972 6. Сега добавете празно пространство и началото на името на съществуващ файл:
973 :edit FIL
974
975 7. Натиснете <TAB>. Vim ще допълни името (ако е единствено).
976
977Важно! Допълването работи за много команди. Просто натиснете CTRL-D и/или
978 <TAB>. Особено полезно е при намиране на помощ :help .
979
980~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
981 Урок 7 ОБОБЩЕНИЕ
982
983
984 1. Напишете :help или натиснете <F1> или <Help> за да отворите помощния
985 прозорец.
986
987 2. Напишете :help cmd , за да намерите помощ за cmd .
988
989 3. Натиснете CTRL-W CTRL-W , за да прескочите в друг прозорец.
990 4. Напишете :q , за да затворите помощния прозорец.
991
992 5. Създайте файл за стартиране vimrc за да запазите предпочитаните от вас
993 настройки.
994
995 6. Когато въвеждате команда след : , натиснете CTRL-D , за да видите
996 възможностите за допълване. Натиснете <TAB> , за да използвате някоя от
997 предложените възможности за допълване..
998
999
1000
1001
1002
1003~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1004
1005 С това завършва Самоучителят на Vim. Той бе предназначен да даде кратък
1006 преглед на текстовия редактор Vim. Съвсем достатъчно, за да можете да
1007 ползвате редактора лесно. Самоучителят е доста непълен, понеже Vim има много
1008 повече команди. Сега прочете наръчника за потребителя: ":help user-manual".
1009
1010 Препоръчваме следната книга за по-нататъшно четене:
1011 Vim - Vi Improved - от Steve Oualline
1012 Издател: New Riders
1013 Това е първата книга, изцяло посветена на Vim. Особено полезна е за
1014 начинаещи. В нея ще намерите много примери и картинки.
1015 See http://iccf-holland.org/click5.html
1016
1017 Следната книга е по-стара и по скоро за Vi отколкото за Vim, но също се препоръчва:
1018 Learning the Vi Editor - от Linda Lamb
1019 Издател: O'Reilly & Associates Inc.
1020 Това е книга, която ще ви запознае с почти всичко във Vi.
1021 Шестото издание включва и информация за Vim.
1022
1023 Този самоучител е написан от Michael C. Pierce и Robert K. Ware,
1024 Colorado School of Mines, акто използва идеи предоставени от Charles Smith,
1025 Colorado State University. E-mail: bware@mines.colorado.edu.
1026
1027 Променен за Vim от Bram Moolenaar.
1028
1029 Превод от Красимир Беров <berov@cpan.org>, юли 2016
1030 Този превод е подарък за сина ми Павел и е посветен на българските деца.
1031~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1032