Bram Moolenaar | 236eb54 | 2008-06-25 00:48:31 +0000 | [diff] [blame] | 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 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |