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