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