1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 |
=============================================================================== = Д о б р о п о ж а л о в а т ь в у ч е б н и к VIM - Версия 1.5 = =============================================================================== Vim --- это очень мощный редактор, имеющий множество команд, слишком много для того, чтобы их все можно было описать в таком учебнике, как этот. Этот учебник призван объяснить достаточное число команд для того, чтобы Вы могли с легкостью использовать Vim в качестве редактора общего назначения. Вам потребуется приблизительно 25-30 минут на освоение данного учебника в зависимости от того, сколько времени Вы потратите на эксперименты. Команды в уроках будут модифицировать текст. Создайте копию этого файла, чтобы попрактиковаться на ней (если Вы запустили "vimtutor", то это уже копия). Важно помнить, что этот учебник предназначен для обучения в процессе использования. Это означает, что Вы должны запускать команды для того, чтобы как следует их изучить. Если Вы просто прочитаете текст, то забудете команды! Теперь убедитесь в том, что клавиша CapsLock не включена и нажмите клавишу j несколько раз, так, чтобы Урок 1.1 полностью поместился на экране. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 1.1: ПЕРЕМЕЩЕНИЕ КУРСОРА ** Для перемещения курсора нажмите клавиши h,j,k,l так, как показано ниже. ** ^ k Советы: Клавиша h находится слева и перемещает влево. < h l > Клавиша l находится справа и перемещает вправо. j Клавиша j похожа на стрелку `вниз'. v 1. Подвигайте курсор по экрану, пока не почувствуете себя уверенно. 2. Надавите клавишу `вниз' (j) пока она не начнет повторяться. ---> Теперь Вы знаете, как перейти к следующему уроку. 3. Используя клавишу `вниз' перейдите к Уроку 1.2. Замечание: Если вы пока не уверены в том, что набираете, нажмите <ESC> для перехода в обычный режим (Normal mode). После этого перенаберите требуемую команду. Замечание: Обычные клавиши управления курсором (стрелки) также должны работать. Однако, клавиши hjkl позволят Вам перемещаться значительно быстрее, как только Вы научитесь ими пользоваться. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 1.2: ЗАПУСК И ЗАВЕРШЕНИЕ РАБОТЫ С VIM !! ВНИМАНИЕ! Прежде, чем выполнять любой из описанных ниже шагов, прочтите урок целиком !! 1. Нажмите клавишу <ESC> (для того, чтобы удостовериться, что Вы в обычном режиме (Normal mode)). 2. Наберите: :q! <ENTER>. ---> Это позволит Вам выйти из редактора БЕЗ СОХРАНЕНИЯ любых сделанных изменений. Если Вы хотите сохранить изменения и выйти: :wq <ENTER> 3. Когда Вы увидите приглашение командной оболочки, наберите команду, которая привела Вас в этот учебник. Это может быть vimtutor ru <ENTER> Обычно можно использовать: vim tutor.ru <ENTER> ---> 'vim' позволяет запустить редактор vim, 'tutor.ru' --- это файл, который Вы будете редактировать. 4. Если Вы уверены в том, что запомнили эти шаги, выполните шаги от 1 до 3 чтобы выйти снова запустить редактор. Затем переместите курсор вниз к Уроку 1.3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 1.3: РЕДАКТИРОВАНИЕ ТЕКСТА - УДАЛЕНИЕ ** Находясь в обычном режиме нажмите x, чтобы удалить символ под курсором. ** 1. Переместите курсор к строке внизу, помеченной --->. 2. Для исправления ошибок, переместите курсор, пока он не окажется над удаляемым символом. 3. Нажмите клавишу x для удаления требуемого символа. 4. Повторите шаги 2--4 пока строка не будет исправлена. ---> От тттопота копытт пппыль ппо ппполю леттитт. 5. Теперь, когда строка откорректирована, переходите к уроку 1.4. ЗАМЕЧАНИЕ: В ходе освоения этого учебника не пытайтесь запоминать, учите в процессе использования. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 1.4: РЕДАКТИРОВАНИЕ ТЕКСТА - ВСТАВКА ** Находясь в обычном режиме (Normal mode), нажмите i для вставки текста. ** 1. Переместите курсор к первой строке внизу, помеченной --->. 2. Для того, чтобы сделать первую строку идентичной второй, поместите курсор на символ ПЕРЕД которым следует вставить текст. 3. Нажмите i и наберите требуемые добавления. 4. После исправления всех ошибок нажмите <ESC> для возврата в обычный режим. Повторите шаги 2--4, пока фраза не будет исправлена полностью. ---> Часть текста в строке беследно . ---> Часть текста в этой строке бесследно пропала. 5. Когда освоите вставку текста, переходите дальше к Резюме. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ РЕЗЮМЕ УРОКА 1 1. Курсор перемещается либо клавишами со стрелками, либо клавишами hjkl. h (влево) j (вниз) k (вверх) l (вправо) 2. Для запуска Vim (из приглашения % командной оболочки) наберите: vim ИМЯ_ФАЙЛА <ENTER> 3. Для завершения работы с Vim наберите: <ESC> :q! <ENTER> чтобы отказаться от сохранения изменений. Или наберите: <ESC> :wq <ENTER> чтобы сохранить изменения. 4. Для удаления символа под курсором в обычном режиме, наберите: x 5. Чтобы вставить текст перед курсором в обычном режиме, наберите: i вводите текст <ESC> ЗАМЕЧАНИЕ: Нажатие <ESC> переместит Вас в обычный режим (Normal mode) либо прервет нежелательную и частично завершенную команду. Теперь переходим к Уроку 2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 2.1: КОМАНДЫ УДАЛЕНИЯ ** Наберите dw для удаления участка текста до конца слова. ** 1. Нажмите <ESC>, чтобы перейти в обычный режим. 2. Переместите курсор вниз, к строке, помеченной --->. 3. Переместите курсор в начало слова, которое следует удалить. 4. Наберите dw , чтобы удалить это слово. ЗАМЕЧАНИЕ: Во время набора буквы dw появятся в последней строке экрана. Если Вы что-то наберете неправильно, нажмите <ESC> и начните сначала. ---> Несколько слов рафинад в этом предложении автокран излишни. 5. Повторите шаги 3 и 4, пока не исправите все ошибки и переходите к Уроку 2.2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 2.2: ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ УДАЛЕНИЯ ** Наберите d$ для удаления текста до конца строки. ** 1. Нажмите <ESC>, чтобы перейти в обычный режим. 2. Переместите курсор вниз, к строке, помеченной --->. 3. Переместите курсор к концу правильной строки (ПОСЛЕ первой . ). 4. Чтобы удалить остаток строки, наберите d$ . ---> Кто-то набрал окончание этой строки дважды. окончание этой строки дважды. 5.Чтобы лучше разобраться в этом, переходите к Уроку 2.3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 2.3: КОМАНДЫ И ОБЪЕКТЫ Формат команды `удаление' d таков: [число] d объект ИЛИ d [число] объект Здесь: число - сколько раз исполнить команду (необязательно, по умолчанию=1). d - команда удаления. объект - с чем команда должна быть выполнена (перечислено ниже). Краткий список объектов: w - от курсора до конца слова, включая завершающий пробел. e - от курсора до конца слова, НЕ включая завершающий пробел. $ - от курсора до конца строки. ^ - от курсора до начала строки. ЗАМЕЧАНИЕ: Простое нажатие на символ объекта в обычном режиме (Normal mode) без дополнительных команд передвинет курсор так, как указано в списке объектов. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 2.4: ИСКЛЮЧЕНИЕ ИЗ ПРАВИЛА `КОМАНДА-ОБЪЕКТ' ** Наберите dd для удаления всей строки. ** Вследствие частого применения операции удаления всей строки, разработчики Vim решили, что для этого проще всего просто набрать d дважды. 1. Переместите курсор вниз, ко второй строке фразы. 2. Наберите dd для удаления строки. 3. Теперь переместитесь к четвертой строке. 4. Наберите 2dd (вспомните правило `число-команда-объект'), чтобы удалить две строки. 1) Летом я хожу на стадион, 2) О, как внезапно кончился диван! 3) Я болею за ``Зенит'', ``Зенит'' --- чемпион! 4) Печально я гляжу на наше поколение! 5) Его грядущее иль пусто иль темно... 6) Я сижу на скамейке в ложе `Б' 7) И играю на большой жестяной трубе. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 2.5: КОМАНДА `ОТКАТ' ** Нажмите u для отмены результата работы предыдущей команды, U для отмены исправлений во всей строке. ** 1. Переместите курсор вниз, к строке, помеченной ---> и установите его на первую ошибку. 2. Нажмите x для удаления первого неправильного символа. 3. Теперь нажмите u для отмены (отката) последней выполненной команды. 4. Исправьте все ошибки в строке, используя команду x . 5. Теперь нажмите заглавную U для того, чтобы вернуть всю строку в исходное состояние. 6. Нажмите u несколько раз для отмены команды U и предыдущих команд. 7. Нажмите теперь CTRL-R (удерживайте клавишу CTRL нажатой в момент нажатия R) несколько раз для возврата команд (откат отката). ---> Испрравьте оошибки в этойй строке и вернитте их сс помощьью `отката'. 8. Это были очень полезные команды. Далее переходите к Резюме Урока 2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ РЕЗЮМЕ УРОКА 2 1. Для удаления текста от курсора до конца слова наберите: dw 2. Для удаления текста от курсора до конца строки наберите: d$ 3. Для удаления всей строки наберите: dd 4. Формат команды в обычном режиме имеет вид: [число] команда объект ИЛИ команда [число] объект где: число - сколько раз повторить выполнение команды команда - что выполнить, например d для удаления объект - на что должна воздействовать команда, например w (слово), $ (до конца строки), и т.д. 5. Для отмены (отката) предшествующих действий наберите: u (строчная u) Для отмены (отката) всех изменений в строке наберите: U (прописная U) Для отмены отката наберите: CTRL-R ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 3.1: КОМАНДА ВСТАВКИ ** Наберите p для вставки последнего удаленного текста после курсора. ** 1. Переместите курсор вниз к последней строке из набора. 2. Наберите dd для удаления строки и ее сохранения в буфере Vim'а. 3. Переместите курсор к строке НАД тем местом, куда следует вставить удаленную строку. 4. Находясь в обычном режиме наберите p для замены строки. 5. Повторите шаги 2--4, пока не расставите все строки в нужном порядке. г) И лучше выдумать не мог. б) Когда не в шутку занемог, в) Он уважать себя заставил а) Мой дядя самых честных правил ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 3.2: КОМАНДА ЗАМЕНЫ ** Наберите r и символ, заменяющий символ под курсором. ** 1. Переместите курсор вниз, к строке, помеченной --->. 2. Установите курсор так, чтобы он находился над первой ошибкой. 3. Наберите r и затем символ, исправляющий ошибку. 4. Повторите шаги 2 и 3, пока первая строка не будет исправлена. ---> В момегт набтра этой чтроки кое0кто с трудом попвдал по клваишам! ---> В момент набора этой строки кое-кто с трудом попадал по клавишам! 5. Теперь переходите к Уроку 3.2. ЗАМЕЧАНИЕ: Помните, что вы должны учиться в процессе работы, а не просто запоминая. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 3.3: КОМАНДА ИЗМЕНЕНИЯ ** Для изменения части слова наберите cw . ** 1. Переместите курсор вниз, к строке, помеченной --->. 2. Расположите курсор над буквой `o' в слове `сола'. 3. Наберите cw и исправьте слово (в данном случае, наберите `лов'.) 4. Нажмите <ESC> и переходите к следующей ошибке (к первому символу, который надо изменить.) 5. Повторите шаги 3--4 пока первое предложение не станет идентичным второму. ---> Несколько сола в эьгц строке тпгшцбь редалзкуюиесвх. ---> Несколько слов в этой строке требуют редактирования. Обратите внимание, что cw не только заменяет слово, но и переводит вас в режим вставки. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 3.4: ПРОДОЛЖАЕМ ИЗМЕНЯТЬ С КОМАНДОЙ c ** Команда замены используется с теми же объектами, что и команда удаления. ** 1. Команда изменения применяется таким же образом, как и команда удаления. Ее формат таков: [число] c объект ИЛИ c [число] объект 2. Объекты также совпадают: w (слово), $ (конец строки) и т.п. 3. Переместите курсор вниз, к строке, помеченной --->. 4. Перейдите к первой ошибке. 5. Наберите c$ и отредактируйте первую строку так, чтобы она совпадала со второй, после чего нажмите <ESC>. ---> Конец этой строки нуждается в помощи, чтобы стать похожим на второй. ---> Конец этой строки нуждается в помощи команды c$ . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ РЕЗЮМЕ УРОКА 3 1. Для вставки текста, который только что был удален, наберите p . Эта команда вставит удаленный текст ПОСЛЕ курсора (если была удалена строка, то она будет помещена в строке под курсором). 2. Для замены символа под курсором наберите r и затем заменяющий символ. 3. Команда изменения позволяет Вам изменить указанный объект от курсора до конца этого объекта. Например, наберите cw для замены от курсора до конца слова, c$ для изменения до конца строки. 4. Формат команды изменения таков: [число] c объект ИЛИ c [число] объект Теперь отправляйтесь к следующему уроку. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 4.1: ИНФОРМАЦИЯ О ФАЙЛЕ И РАСПОЛОЖЕНИЕ В НЕМ ** Наберите CTRL-g чтобы увидеть Ваше месторасположение в файле и информацию о нем. Наберите SHIFT-G для перемещения к заданной строке в файле. ** Замечание: Прочитайте весь урок прежде чем выполнять любые команды!! 1. Удерживая клавишу Ctrl нажмите g . Внизу экрана появится строка статуса с именем файла и номером строки, в которой Вы находитесь. Запомните номер строки, он потребуется на Шаге 3. 2. Нажмите shift-G для перемещения к концу файла. 3. Наберите номер строки, в которой вы находились и затем shift-G. Это вернет Вас к строке, в которой Вы были, когда в первый раз нажали Ctrl-g. (Когда Вы будете набирать цифры, они НЕ отобразятся на экране.) 4. Если Вы запомнили все вышесказанное, выполните шаги 1--3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 4.2: КОМАНДА ПОИСКА ** Наберите / и затем введите искомую фразу. ** 1. В обычном режиме (Normal mode) наберите символ / . Обратите внимание, что он вместе с курсором появится внизу экрана, как это происходит с командой : . 2. Теперь наберите 'ошшшибка' <ENTER>. Это то слово, которое Вы будете искать. 3. Для того, чтобы повторить поиск, просто нажмите n . Для поиска этой фразы в обратном направлении, нажмите Shift-N . 4. Если Вы желаете сразу искать в обратном направлении, используйте команду ? вместо / . ---> Когда Вы при поиске достигнете конца файла, поиск будет продолжен с начала. "ошшшибка" это не способ произнесения слова `ошибка'; ошшшибка это ошибка. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 4.3: ПОИСК ПАРНЫХ СКОБОК ** Наберите % для поиска парных ),] или } . ** 1. Поместите курсор над любой из (, [ или { в строке внизу, помеченной --->. 2. Теперь наберите символ % . 3. Курсор должен перескочить на парную скобку. 4. Наберите % для возврата курсора назад к первой скобке. ---> Это ( строка, содержащая такие (, такие [ ] и такие { } скобки. )) Замечание: Это очень удобно при отладке программ с пропущенными скобками! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 4.4: СПОСОБ ИСПРАВЛЕНИЯ ОШИБОК ** Наберите :s/было/стало/g для замены 'было' на 'стало'. ** 1. Переместите курсор вниз, к строке, помеченной --->. 2. Наберите :s/уводю/увожу <ENTER> . Обратите внимание на то, что эта команда заменит только первое найденное вхождение в строке. 3. Теперь наберите :s/уводю/увожу/g , означающее подстановку глобально во всей строке. Это заменит все найденные в строке вхождения. ---> Я уводю к отверженным селеньям, я уводю сквозь вековечный стон, я уводю к забытым поколеньям. 4. Для замены всех вхождений последовательности символов между двумя строками, наберите :#,#s/было/стало/g где #,# --- номера этих строк. Наберите :%s/было/стало/g для замены всех вхождений во всем файле. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ РЕЗЮМЕ УРОКА 4 1. Ctrl-g показывает ваше положение в файле и информацию о нем. Shift-G перемещает Вас в конец файла. Номер, за которым следует Shift-G позволяет перейти к строке с этим номером. 2. Нажатие / и затем ввод строки позволяет произвести поиск этой строки ВПЕРЕД по тексту. Нажатие ? и затем ввод строки позволяет произвести поиск этой строки НАЗАД по тексту. После поиска наберите n для перехода к следующему вхождению искомой строки в том же направлении или Shift-N для перехода в противоположном направлении. 3. Нажатие % , когда курсор находится на (,),[,],{, или } позволяет найти парную скобку. 4. Для подстановки `стало' вместо первого `было' в строке, наберите :s/old/new Для подстановки `стало' вместо всех `было' в строке, наберите :s/old/new/g Для замены в интервале между двумя строками, наберите :#,#s/old/new/g Для замены всех вхождений `было' на `стало' в файле, наберите :%s/old/new/g Чтобы редактор каждый раз запрашивал подтверждение, добавьте 'c' :%s/old/new/gc ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 5.1: КАК ВЫПОЛНИТЬ ВНЕШНЮЮ КОМАНДУ ** Наберите :! и затем внешнюю команду, которую следует выполнить. ** 1. Наберите уже знакомую Вам команду : для установки курсора в командную строку редактора. Это позволит Вам ввести команду. 2. Теперь наберите символ ! (восклицательный знак). Теперь можно исполнить внешнюю команду, используя командную оболочку. 3. Для примера наберите ls после ! и нажмите <ENTER>. Эта команда выведет список файлов в текущем каталоге, точно также, как если бы Вы ввели эту команду в приглашении оболочки. Или попробуйте :!dir , если предыдущая команда не сработала. ---> Замечание: Таким способом можно выполнить любую внешнюю команду. ---> Замечание: Все команды, начинающиеся с : , должны завершаться нажатием <ENTER>. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 5.2: КАК ЗАПИСАТЬ ФАЙЛ ** Для сохранения изменений, произведенных в файле, наберите :w ИМЯ_ФАЙЛА. ** 1. Наберите :!dir или :!ls для получения списка файлов в текущем каталоге. Как Вам уже известно, Вы должны нажать <ENTER> после ввода этих команд. 2. Придумайте название для файла, которое еще не существует, например TEST. 3. Теперь наберите :w TEST (где TEST --- это имя файла, придуманное Вами.) 4. Эта команда сохранит весь файл (Учебник по Vim) под именем TEST. Чтобы удостовериться в этом, снова наберите :!dir и просмотрите каталог. ---> Заметьте, что если Вы выйдете из Vim и затем запустите его снова с файлом TEST, этот файл будет точной копией учебника в тот момент, когда Вы его сохранили. 5. Теперь удалите этот файл, набрав :!del TEST ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 5.3: ВЫБОРОЧНОЕ СОХРАНЕНИЕ ** Для сохранения части файла, наберите :#,# w ИМЯ_ФАЙЛА ** 1. Еще раз наберите :!dir или :!ls для получения списка файлов в текущем каталоге и выберите подходящее имя, например TEST. 2. Переместите курсор к началу этой страницы и нажмите Ctrl-g для нахождения номера строкиto. ЗАПОМНИТЕ ЭТОТ НОМЕР! 3. Теперь переместитесь в конец страницы и вновь наберите Ctrl-g. ЗАПОМНИТЕ И ЭТОТ НОМЕР ТОЖЕ! 4. Для сохранения ТОЛЬКО ЧАСТИ файла наберите :#,# w TEST , где #,# --- это номера, которые Вы запомнили (начало, конец), а TEST --- имя вашего файла. 5. Как и прежде, убедитесь в наличии этого файла командой :!dir , но НЕ УДАЛЯЙТЕ его. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 5.4: ЧТЕНИЕ И ОБЪЕДИНЕНИЕ ФАЙЛОВ ** Для вставки содержимого файла, наберите :r FILENAME ** 1. Наберите :!dir для того, чтобы убедиться в том, что файл TEST все еще существует. 2. Установите курсор в верхней части этой страницы. Замечание: После выполнения шага 3 Вы увидите Урок 5.3. После этого перемещайтесь ВНИЗ, снова к этому уроку. 3. Теперь прочитайте Ваш файл TEST, используя команду :r TEST , где TEST --- это имя файла. Замечание: Прочитанный Вами файл будет вставлен в том месте, где находится курсор. 4. Чтобы убедиться в том, что файл прочитан, переместитесь немного назад по тексту и [A[Bзаметьте, что теперь существуют две копии Урока 5.3, исходная и полученная из файла. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ РЕЗЮМЕ УРОКА 5 1. :!команда исполняет внешнюю команду. Некоторые полезные примеры: :!dir --- выводит список файлов в каталоге. :!del FILENAME --- удаляет файл FILENAME. 2. :w FILENAME записывает текущий редактируемый файл на диск под именем FILENAME. 3. :#,#w FILENAME сохраняет строки от # до # в файл FILENAME. 4. :r FILENAME считывает с диска файл FILENAME и помещает его в текущий файл следом за позицией курсора. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 6.1: КОМАНДА СОЗДАНИЯ ** Наберите o чтобы создать пустую строку под курсором и перейти в режим вставки (Insert mode) ** 1. Переместите курсор вниз, к строке, помеченной --->. 2. Наберите o (в нижнем регистре) для того, чтобы создать пустую строку НИЖЕ курсора и перейти в режим вставки (Insert mode). 3. Теперь скопируйте помеченную ---> строку и нажмите <ESC> для выхода из режима вставки. ---> После нажатия o курсор перейдет на новую пустую строку в режиме вставки. 4. Для создания строки ВЫШЕ курсора, просто наберите заглавную O, вместо строчной o. Попробуйте проделать это с нижеследующей строкой. Создайте новую строку над этой, нажав Shift-O, поместив курсор на эту строку. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 6.2: КОМАНДА ДОБАВЛЕНИЯ ** Наберите a , чтобы вставить текст ПОСЛЕ курсора. ** 1. Переместите курсор вниз, в конец первой строки, помеченной ---> , набрав $ в обычном режиме (Normal mode). 2. Наберите a (в нижнем регистре) для добавления текста ПОСЛЕ символа, находящегося под курсором. (Заглавная A позволяет добавить в конец строки.) Замечание: Это позволяет избежать нажатия i , последнего символа, текста для вставки, <ESC>, курсор-вправо, и, наконец, x , просто для того, чтобы добавить тест в конец строки! 3. Теперь завершите первую строку. Заметьте также, что добавление это в точности то же самое, что и режим вставки, за исключением позиции, в которую будет вставлен текст. ---> Эта строчка позволит Вам попрактиковаться ---> Эта строчка позволит Вам попрактиковаться в добавлении текста в конец строки. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 6.3: ЕЩЕ ОДИН СПОСОБ ЗАМЕНЫ ** Наберите заглавную R для замены более, чем одного символа. ** 1. Переместите курсор вниз, к строке, помеченной --->. 2. Расположите курсор в начале первого слова, отличающегося от соответствующего в следующей строке, помеченной ---> (слово 'последней'). 3. Теперь наберите R и замените остаток текста в первой строке, набрав поверх старого текста так, чтобы обе строки стали одинаковыми. ---> Первую строку можно сравнять с последней, используя клавиши. ---> Первую строку можно сравнять с второй, используя R и набрав новый текст. 4. Обратите внимание, что при нажатии <ESC> для завершения, любой не измененный текст сохранится. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 6.4: УСТАНОВКА ПАРАМЕТРОВ ** Установим параметры так, чтобы игнорировать регистр при поиске или замене ** 1. Поищите слово 'игнорировать', набрав: /игнорировать Повторите поиск несколько раз, нажимая клавишу n 2. Включите параметр 'ic' (Игнорировать регистр), набрав: :set ic 3. Теперь снова сделайте поиск слова 'игнорировать', нажав: n Повторите поиск несколько раз, нажимая клавишу n 4. Включите параметры 'hlsearch' и 'incsearch': :set hls is 5. Теперь опять введите команду поиска и посмотрите, что получится: /игнорировать ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ РЕЗЮМЕ УРОКА 6 1. Нажатие o создает строку НИЖЕ курсора и перемещает курсор в нее в режиме вставки. Нажатие заглавной O создает строку ВЫШЕ строки, в которой находится курсор. 2. Наберите a для вставки текста ПОСЛЕ символа, на котором находится курсор. Нажатие заглавной A автоматически перемещает Вас для добавления текста в конец строки. 3. Нажатие заглавной R переводит Вас в режим замены до тех пор, пока не будет нажата клавиша <ESC> для завершения. 4. Набрав ":set xxx" вы сможете включить параметр "xxx" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 7: КОМАНДЫ ПОЛУЧЕНИЯ ВСТРОЕННОЙ СПРАВКИ ** Используйте встроенную справочную систему ** Vim обладает мощной встроенной справочной системой. Для начала попробуйте один из трех вариантов: - нажмите клавишу <HELP> (если таковая имеется на клавиатуре) - нажмите клавишу <F1> (если таковая имеется на клавиатуре) - наберите :help <ENTER> Наберите :q <ENTER> чтобы закрыть окно справки. Вы можете найти справку для любого понятия или команды, просто задав соответствующий аргумент команде ":help". Попробуйте следующее (не забудьте нажать <ENTER>): :help w :help c_<T :help insert-index ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Урок 8: СОЗДАНИЕ СТАРТОВОГО СКРИПТА ** Включим возможности Vim ** Vim имеет намного больше возможностей, чем Vi, однако большинствао из них выключены по умолчанию. Для того, чтобы начать использовать новые возможности Вам следует создать файл "vimrc". 1. Отредактируйте файл "vimrc", его расположение зависит от используемой системы: :edit ~/.vimrc для Unix :edit $VIM/_vimrc для MS-Windows 2. Теперь прочитайте пример файла "vimrc": :read $VIMRUNTIME/vimrc_example.vim 3. Запишите файл: :write Теперь при следующем запуске Vim будет включена подсветка синтаксиса. Все настройки, предпочитаемые Вами, могут быть добавлены в файл "vimrc". ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ На этом завершается Учебник Vim. Он был предназначен для того, чтобы дать общее представление о редакторе Vim, достаточное для того, чтобы с легкостью использовать его. Учебник далек от полноты, поскольку Vim имеет очень много команд. Прочитайте теперь руководство пользователя: ":help user-manual". Для дальнейшего чтения рекомендуется книга: Vim - Vi Improved - Автор: Steve Oualline Издатель: New Riders Эта книга полностью посвящена Vim. Особенно полезна новичкам. Содержит множество примеров и иллюстраций. Взгляните на See http://iccf-holland.org/click5.html Следующая книга более почтенного возраста и посвящена больше Vi, чем Vim, однако также рекомендуется: Learning the Vi Editor - Автор: Linda Lamb Издатель: O'Reilly & Associates Inc. Это хорошая книга для того, чтобы узнать все, что только можно проделывать с Vi. Шестое издание также включает информацию о Vim. Этот учебник был написан Michael C. Pierce и Robert K. Ware, Colorado School of Mines с использованием идей, предложенных Charles Smith, Colorado State University. E-mail: bware@mines.colorado.edu. Доработано для Vim Bram Moolenaar. Перевод: Андрей Киселев <a_kissel@eudoramail.com>, 2002. Translator: Andrey Kiselev <a_kissel@eudoramail.com>, 2002. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |