blob: e4c327c68f9df823f2fcff73ec5cf662ea4add51 [file] [log] [blame]
RestorerZ21ac3a42025-03-16 19:49:41 +01001# ДОБРО ПОЖАЛОВАТЬ НА ЗАНЯТИЯ ПО РЕДАКТОРУ Vim
2
3## ГЛАВА ПЕРВАЯ
4
5 Программа Vim это очень мощный текстовый редактор, имеющий множество
6 команд, и все их просто невозможно описать в рамках этого учебника.
7 Данный же учебник призван объяснить те команды, которые позволят вам с
8 лёгкостью использовать программу Vim в качестве редактора общего назначения.
9
10 Важно помнить, что этот учебник предназначен для практического обучения.
11 Это означает, что вы должны применять команды для того, чтобы как следует
12 их изучить. Если вы просто прочитаете этот текст, то не запомните команды!
13
14 Теперь, убедившись, что не включена клавиша `<CapsLock>`{normal},
15 нажмите клавишу `j`{normal} несколько раз, так, чтобы урок 0 полностью
16 поместился на экране.
17
18# ВВОДНАЯ ЧАСТЬ
19
20**Важно!**
21 Выполняя задания уроков, вы будете изменять некоторый текст этих заданий,
22 но эти изменения не будут сохранятся в файле. Так что не бойтесь что что‐то
23 испортится; просто помните, что нажав клавишу [<ESC>](<Esc>) и затем клавишу
24 [u](u) можно отменить последние сделанные изменения.
25
26Это интерактивный учебник, и есть несколько важных моментов, о которых надо знать.
27 Если нажать клавишу [<ENTER>](<Enter>) когда каретка находится
28 на [такой ссылке](holy-grail), то будет открыт связанный с ней раздел
29 документации.
30 К тому же, если нажать клавишу [K](K) на любом слове, то будет выполнен поиск
31 этого слова в документации.
32- Также в ходе урока вам потребуется изменять текст, например,
33как этот
34 Если задание будет выполнено правильно, то значок справа изменится на ✓.
35 Надеюсь, вы уже начинаете понимать насколько удобным может быть редактора Vim.
36- Либо может быть предложено набрать команду, похожую на эту (объяснение далее):
37~~~ cmd
38 :help <ENTER>
39~~~
40или нажать последовательность клавиш
41~~~ normal
42 <ESC>0f<SPACE>d3wP$P
43~~~
44Текст, заключённый в угловые скобки (вроде `<ENTER>`{normal}), означает клавиши,
45которые надо нажать на клавиатуре, а не текст который надо набирать.
46
47Ну что ж, переходим к следующему уроку (используйте для этого клавишу `j`{normal}
48для прокрутки окна вниз).
49
50
51# Урок 1.1.1. ПЕРЕМЕЩЕНИЕ КАРЕТКИ
52
53** Чтобы перемещать каретку в указанных направлениях, нажмите клавиши
54 `h`, `j`, `k`, `l`**
55
56 *Подсказка.*
57 k Клавиша `h`{normal} слева и удобна для перемещения влево.
58 h l Клавиша `l`{normal} справа и удобна для перемещения вправо.
59 j Клавиша `j`{normal} похожа на стрелку »вниз».
60
61 1. Перемещайте каретку в разных направлениях, пока не ощутите уверенность.
62
63 2. Удерживайте нажатой клавишу «вниз» (`j`{normal}) для беспрерывного
64 перемещения каретки. Теперь вы знаете, как перейти к следующему уроку.
65
66 3. Используя клавишу «вниз», то есть `j`{normal}, перейдите к уроку 1.1.2
67
68**Совет.**
69 Если вы не уверены в правильности набранного текста, нажмите клавишу
70 `<ESC>`{normal}, чтобы переключить редактор в режим команд.
71 После этого повторите набор.
72
73**Примечание.**
74 Клавиши управления курсором (стрелки) также должны работать.
75 Но учтите, что немного потренировавшись вы поймёте, что намного быстрее
76 перемещать каретку клавишами `h`{normal} `j`{normal} `k`{normal} `l`{normal}
77
78
79# Урок 1.1.2. ЗАВЕРШЕНИЕ РАБОТЫ ПРОГРАММЫ *1-1-2*
80
81**ВНИМАНИЕ!** Перед выполнением описанных ниже действий, прочтите урок полностью!
82
83 1. Нажмите клавишу `<ESC>`{normal} (чтобы убедиться, что включен режим команд).
84
85 2. Наберите
86
87 `:q!`{vim} `<ENTER>`{normal}
88
89 Это означает, что надо набрать три символа : q ! и нажать клавишу <ВВОД>
90 Исполнение этой команды вызовет завершение работы редактора БЕЗ СОХРАНЕНИЯ
91 любых сделанных изменений.
92
93 3. Снова запустите редактор Vim и повторно наберите команду, через которую вы
94 открыли этот учебник. Это может быть
95
96 `:Tutor`{vim} `<ENTER>`{normal}
97
98 4. Если уверены в том, что поняли смысл вышесказанного, выполните шаги
99 с 1 до 3, чтобы завершить работу и снова запустить редактор.
100
101**Примечание.**
102 По команде [:q!](:q) `<ENTER>`{normal} будут сброшены сделанные изменения.
103 Через несколько уроков вы узнаете как сохранять изменения в файл.
104
105 5. Переместите каретку вниз к уроку [1.1.3](*1-1-3*).
106
107
108# Урок 1.1.3. РЕДАКТИРОВАНИЕ — УДАЛЕНИЕ ТЕКСТА *1-1-3*
109
110** Чтобы удалить символ под кареткой, нажмите клавишу `x`{normal} **
111
112 1. Переместите каретку к строке помеченной ✗.
113
114 2. Чтобы исправить ошибки, перемещайте каретку, пока она не окажется над
115 удаляемым символом.
116
117 3. Нажмите клавишу [x](x) для удаления требуемого символа.
118
119 4. Повторите шаги со 2 по 4, пока строка не будет исправлена.
120
121От тттопота копытт пппыль ппо ппполю леттитт.
122
123 5. Теперь, когда строка исправлена, переходите к уроку [1.1.4](*1-1-4*).
124
125**Примечание.**
126 В ходе этих занятий не пытайтесь сразу всё запоминать, учитесь в процессе
127 работы.
128
129
130# Урок 1.1.4. РЕДАКТИРОВАНИЕ — ВСТАВКА ТЕКСТА *1-1-4*
131
132** Чтобы вставить текст, нажмите клавишу `i`{normal} **
133
134 1. Переместите каретку к первой строке помеченной ✗.
135
136 2. Чтобы сделать первую строку идентичной второй, установите каретку на тот
137 символ, ПЕРЕД которым следует вставить текст.
138
139 3. Нажмите клавишу [i](i) и наберите текст, который требуется вставить.
140
141 4. После исправления каждого ошибочного слова, нажмите клавишу `<ESC>`{normal}
142 для переключения в режим команд.
143
144 Повторите шаги со 2 по 4, пока предложение не будет исправлено полностью.
145
146Часть текта в строке бесследно .
147Часть текста в этой строке бесследно пропало.
148
149 5. Когда освоите вставку текста, переходите к уроку [1.1.5](*1-1-5*).
150
151
152# Урок 1.1.5. РЕДАКТИРОВАНИЕ — ДОБАВЛЕНИЕ ТЕКСТА *1-1-5*
153
154** Чтобы добавить текст, нажмите клавишу `A`{normal} **
155
156 1. Переместите каретку к первой строке помеченной ✗.
157 Сейчас неважно, на каком символе расположена каретка в этой строке.
158
159 2. Нажмите клавишу [A](A) и наберите текст, который требуется добавить.
160
161 3. После добавления текста нажмите клавишу `<ESC>`{normal} для возврата
162 в режим команд.
163
164 4. Переместите каретку на следующую строку, помеченную
165 и повторите шаги со 2 по 3 для исправления этой строки.
166
167Часть текста в этой строке бессле
168Часть текста в этой строке бесследно пропало.
169Здесь также недостаёт час
170Здесь также недостаёт части текста.
171
172 5. Когда освоите добавление текста, переходите к уроку [1.1.6](*1-1-6*).
173
174
175# УРОК 1.1.6. РЕДАКТИРОВАНИЕ И ЗАПИСЬ ФАЙЛА *1-1-6*
176
177 ** Чтобы сохранить файл и закрыть редактор, используйте команды `:wq`{vim} **
178
179 **ВНИМАНИЕ!** Перед выполнением описанных ниже действий, прочтите урок полностью!
180
181 1. Завершите работу редактора Vim, как указано в уроке [1.1.2](*1-1-2*)
182 `:q!`{vim}
183 Если есть доступ к другому терминалу, то там можете сделать следующее:
184
185 2. В приглашении командной оболочки введите команду
186~~~ sh
187 $ vim tutor
188~~~
189 где vim - команда для запуска редактора Vim, а tutor - наименование
190 файла для редактирования. Укажите такой файл, который можно изменять.
191
192 3. Вставляйте и удаляйте текст, как описано в предыдущих уроках.
193
194 4. Сохраните этот изменённый файл и завершите работу программы Vim,
195 набрав команду
196~~~ cmd
197 :wq
198~~~
199 5. Если вы вышли из vimtutor на шаге 1, перезапустите vimtutor и переходите
200 далее к резюме.
201
202 6. После того как вы прочли и поняли вышесказанное, выполните описанные шаги.
203
204
205# РЕЗЮМЕ УРОКА 1.1
206
207 1. Каретку можно перемещать либо клавишами со стрелками, либо клавишами hjkl.
208 h (влево) j (вниз) k (вверх) l (вправо)
209
210 2. Чтобы запустить редактор Vim из приглашения командной оболочки, наберите
211~~~ sh
212 $ vim ФАЙЛ
213~~~
214 3. Чтобы завершить работу редактора Vim, выполните одно из следующих:
215 `<ESC>`{normal} `:q!`{vim} `<ENTER>`{normal}
216 по этой команде не будут сохранены изменения;
217 или
218 `<ESC>`{normal} `:wq`{vim} `<ENTER>`{normal}
219 по этой команде будут сохранены изменения.
220
221 4. Чтобы удалить символ под кареткой, нажмите клавишу `x`{normal}.
222
223 5. Чтобы вставить текст перед кареткой:
224 `i`{normal} вставляемый текст `<ESC>`{normal}
225 Чтобы добавить текст в конце строки:
226 `A`{normal} добавляемый текст `<ESC>`{normal}
227
228**Примечание.**
229 По нажатию клавиши `<ESC>`{normal} будет выполнено переключение редактора
230 в режим команд с прерыванием обработки любой ранее набранной команды.
231
232Теперь переходите к уроку [1.2](*1-2-1*).
233
234
235# Урок 1.2.1. КОМАНДЫ УДАЛЕНИЯ *1-2-1*
236
237 ** Чтобы удалить слово под кареткой, используйте команду `dw`{vim} **
238
239 1. Переключите редактор в режим команд, нажав клавишу `<ESC>`{normal}.
240
241 2. Переместите каретку к строке помеченной
242
243 3. Установите каретку на начало слова, которое следует удалить.
244
245 4. Наберите [dw](dw) для удаления этого слова.
246
247**Примечание.**
248 При наборе оператора `d`{normal} он отобразится в самой нижней строке справа,
249 и программа будет ожидать ввода следующей команды,
250 в данном случае - `w`{normal} (объект слово).
251 Если что-то не получается, нажмите клавишу `<ESC>`{normal} и начните сначала.
252
253Несколько слов рафинад в этом предложении автокран излишни.
254
255 5. Повторите шаги 3 и 4, пока не исправите все ошибки, и переходите
256 к уроку [1.2.2](*1-2-2*).
257
258
259# Урок 1.2.2. ЕЩЁ ОДНА КОМАНДА УДАЛЕНИЯ *1-2-2*
260
261** Чтобы удалить текст до конца строки, используйте команду `d$`{vim} **
262
263 1. Переключите редактор в режим команд, нажав клавишу `<ESC>`{normal}.
264
265 2. Переместите каретку к строке помеченной
266
267 3. Установите каретку после корректного предложения (ПОСЛЕ первой точки).
268
269 4. Наберите [d$](d$) для удаления остатка строки.
270
271Кто-то набрал окончание этой строки дважды. окончание этой строки дважды.
272
273 5. Чтобы лучше разобраться в том как это происходит,
274 обратитесь к уроку [1.2.3](*1-2-3*).
275
276
277# Урок 1.2.3. ОПЕРАТОРЫ И ОБЪЕКТЫ *1-2-3*
278
279 Многие команды, изменяющие текст, являются составными и формируются
280 из [оператора](operator) и [объекта](navigation), к которому применяется
281 этот оператор.
282 Так, например, формат команды удаления с оператором [d](d) следующий:
283
284 d объект
285 где
286 d - оператор удаления;
287 объект - область текста (указаны ниже), к которой будет применён оператор.
288
289 Краткий перечень объектов:
290 [w](w) - от позиции каретки до конца слова, включая последующий пробел;
291 [e](e) - от позиции каретки до конца слова, исключая последующий пробел;
292 [$]($) - от позиции каретки до конца строки, включая последний символ.
293
294 Таким образом, ввод команды `de`{normal} вызывает удаление текста
295 от позиции каретки до конца слова.
296
297**Примечание.**
298 Если в режиме команд, без ввода оператор, нажать клавишу с символом,
299 с которым ассоциирован объект, то каретка будет перемещена так, как
300 указано в перечне объектов.
301
302
303# Урок 1.2.4. ПРИМЕНЕНИЕ СЧЁТЧИКА СОВМЕСТНО С ОБЪЕКТАМИ
304
305** Чтобы перемещение каретка выполнялось необходимое количество раз,
306 укажите перед объектом требуемое число **
307
308 1. Установите каретку на начало строки помеченной
309
310 2. Наберите `2w`{normal} для перемещения каретки вперёд к началу второго слова.
311
312 3. Наберите `3e`{normal} для перемещения каретки вперёд к концу третьего слова.
313
314 4. Наберите `0`{normal} ([ноль](0)) для перемещения каретки к началу строки.
315
316 5. Повторите шаги 2 и 3 с различными значениями чисел.
317
318Обычная строка из слов, чтобы вы на ней потренировались перемещать каретку.
319
320 6. Когда освоите это, переходите к уроку [1.2.5.](*1-2-5*)
321
322
323# Урок 1.2.5. ПРИМЕНЕНИЕ СЧЁТЧИКА ДЛЯ МНОЖЕСТВЕННОГО УДАЛЕНИЯ *1-2-5*
324
325** Чтобы применить оператор несколько раз, укажите число требуемых повторов **
326
327 Используя приведённые ранее составные команды удаления и перемещения,
328 укажите перед объектом число повторов выполнения операции удаления.
329
330 d число объект
331
332 1. Установите каретку на первом слове из прописных букв в строке
333
334 2. Наберите `d2w`{normal} для удаления двух идущих друг за другом слов
335 из прописных букв.
336
337 3. Повторите шаги 1 и 2 с указанием других числовых значений, чтобы удалить
338 группы слов из прописных букв одной командой.
339
340Эта АБВ ГД строка ЕЖЗИ КЛ МНО очищена от П РС ТУФ лишних слов.
341
342
343# Урок 1.2.6. ОПЕРАЦИИ СО СТРОКАМИ
344
345** Чтобы удалить строку целиком, используйте команду `dd`{normal} **
346
347 Так как часто требуется выполнять удаление всей строки целиком, создатели
348 редактора решили облегчить этот процесс, и предложили для этого просто
349 дважды нажать на клавишу с буквой d.
350
351 1. Переместите каретку к строке номер два.
352 2. Наберите [dd](dd) для удаления строки.
353 3. Теперь переместите каретку к строке номер четыре.
354 4. Наберите `2dd`{normal} для удаления двух строк подряд.
355
3561) Летом я хожу на стадион,
3572) О, как внезапно кончился диван!
3583) Я болею за «Зенит», «Зенит» чемпион!
3594) Печально я гляжу на наше поколенье!
3605) Его грядущее иль пусто, иль темно...
3616) Я сижу на скамейке в ложе «Б»
3627) И играю на большой жестяной трубе
363
364
365
366 Дублирование оператора для обработки целой строки применяется и с другими
367 операторами, о которых говорится далее.
368
369
370# Урок 1.2.7. КОМАНДА ОТМЕНЫ
371
372** Чтобы отменить результат предыдущей команды, нажмите клавишу `u`{normal}
373 Чтобы отменить правки для всей строки, нажмите клавишу `U`{normal} **
374
375 1. Установите каретку на первой ошибке, в строке помеченной
376
377 2. Нажмите клавишу `x`{normal} для удаления первого ошибочного символа.
378
379 3. Теперь нажмите клавишу `u`{normal} для отмены последней выполненной команды.
380
381 4. Исправьте все ошибки в строке, используя команду `x`{normal}.
382
383 5. Теперь нажмите клавишу `U`{normal}, чтобы вернуть всю строку
384 в исходное состояние.
385
386 6. Нажмите клавишу `u`{normal} несколько раз для отмены команды `U`{normal}
387 и предыдущих команд.
388
389 7. Теперь нажмите клавиши `<CTRL-r>`{normal} (т. е. удерживая клавишу `<CTRL>`,
390 нажмите клавишу `r`) несколько раз для возврата действий команд.
391
392Испрравьте оошибки в этойй строке и вернитте их сс помощьью команды «отмена».
393
394 8. Это очень нужные и полезные команды.
395
396Далее переходите к резюме урока [1.2](*1-2*).
397
398
399# РЕЗЮМЕ УРОКА 1.2
400
401 1. Чтобы удалить слово, установите каретку в его начало и наберите `dw`{normal}
402
403 2. Чтобы удалить текст от позиции каретки до конца слова, наберите `de`{normal}
404
405 3. Чтобы удалить текст от позиции каретки до конца строки, наберите `d$`{normal}
406
407 4. Чтобы удалить всю строку целиком, наберите `dd`{normal}
408
409 5. Чтобы переместить каретку за один раз на некоторое количество объектов,
410 укажите их число, например, `2w`{normal}
411
412 6. Формат команд изменения:
413 оператор [число] объект
414 где
415 оператор - необходимые действия, например, [d](d) для удаления;
416 [число] - количество подпадающих под действие оператора объектов,
417 если не указано, то один объект;
418 объект - на что воздействует оператор, например, [w](w) (слово),
419 [$]($) (всё, что есть до конца строки) и т. п.
420
421 7. Чтобы переместить каретку к началу строки, нажмите клавишу [0](0) (ноль)
422
423 8. Чтобы отменить предшествующие действие, нажмите `u`{normal} (строчная u)
424 Чтобы отменить все изменения в строке, нажмите `U`{normal} (прописная U)
425 Чтобы вернуть отменённые изменения, нажмите `<CTRL-r>`{normal}
426
427
428# Урок 1.3.1. КОМАНДА ВСТАВКИ
429
430** Чтобы вставить последний удалённый текст, наберите команду `p`{normal} **
431
432 1. Переместите каретку к первой строке помеченной
433
434 2. Наберите `dd`{normal}, чтобы удалить строку, при этом она будет
435 автоматически помещена в специальный регистр редактора Vim.
436
437 3. Установите каретку на строку ВЫШЕ той, в которой следует вставить
438 удалённую строку.
439
440 4. Убедитесь, что программа в режиме команд и нажмите клавишу [p](p)
441 для вставки строки ниже позиции каретки.
442
443 5. Повторите шаги со 2 по 4, пока не расставите все строки в нужном порядке.
444
445г) И лучше выдумать не мог.
446б) Когда не в шутку занемог,
447в) Он уважать себя заставил
448а) Мой дядя самых честных правил
449
450
451# Урок 1.3.2. КОМАНДА ЗАМЕНЫ
452
453** Чтобы заменить символ под кареткой, наберите `r`{normal} и заменяющий символ **
454
455 1. Переместите каретку к первой строке помеченной
456
457 2. Установите каретку так, чтобы она находилась над первым ошибочным символом.
458
459 3. Нажмите клавишу [r](r) и затем наберите символ, исправляющий ошибку.
460
461 4. Повторите шаги 2 и 3, пока первая строка не будет соответствовать второй.
462
463В момегт набтра этой чтроки кое0кто с трудом попвдал по клваишам!
464В момент набора этой строки кое-кто с трудом попадал по клавишам!
465
466 5. Теперь переходите к уроку [1.3.3](*1-3-3*).
467
468**Примечание.**
469 Помните, что вы должны учиться в процессе работы, а не просто зубрить.
470
471
472# Урок 1.3.3. ОПЕРАТОР ИЗМЕНЕНИЯ *1-3-3*
473
474** Чтобы изменить окончание слова, наберите команду `ce`{normal} **
475
476 1. Переместите каретку к первой строке помеченной
477
478 2. Установите каретку над буквой «o» в слове «сола».
479
480 3. Наберите команду `ce`{normal} и исправьте слово
481 данном случае, наберите «лов»).
482
483 4. Нажмите клавишу `<ESC>`{normal} и переместите каретку к следующей ошибке
484 первому символу, начиная с которого надо изменить окончание слова).
485
486 5. Повторите шаги 3 и 4 пока первая строка не будет соответствовать второй.
487
488Несколько сола в эьгц строке тпгшцбь истравыиться.
489Несколько слов в этой строке требуется исправить.
490
491**Примечание.**
492 Обратите внимание, что по команде `ce`{normal} не только удаляется часть
493 слова, но и происходит переключение редактора в режим вставки.
494 По команде `cc`{normal} будет выполнятся то же самое, но для целой строки.
495
496
497# УРОК 1.3.4. ЕЩЁ НЕСКОЛЬКО СПОСОБОВ РАБОТЫ С ОПЕРАТОРОМ ИЗМЕНЕНИЯ `c`{normal}
498
499** К оператору изменения применимы те же объекты, что и к оператору удаления **
500
501 1. Оператор изменения работает аналогично оператору удаления. Формат команды:
502
503 c [число] объект
504
505 2. Объекты - это то же самое, что и ранее: `w`{normal} (слово),
506 `$`{normal} (конец строки) и т. п.
507
508 3. Переместите каретку к первой строке помеченной
509
510 4. Установите каретку на первой ошибке.
511
512 5. Наберите `c$`{normal} и отредактируйте первую строку так, чтобы она
513 совпадала со второй, после чего нажмите клавишу `<ESC>`{normal}.
514
515Окончание этой строки нужно сделать похожим как во второй строке.
516Окончание этой строки нужно исправить через команду c$.
517
518**Примечание.**
519 Клавиша `<BACKSPACE>`{normal} используется для исправления при наборе текста.
520
521
522# РЕЗЮМЕ УРОКА 1.3
523
524 1. Чтобы вставить текст, который был только что удалён, наберите команду [p](p).
525 Текст будет вставлен ПОСЛЕ позиции каретки (если была удалена строка,
526 то она будет помещена в строке ниже строки с кареткой).
527
528 2. Чтобы заменить символ под кареткой, наберите команду [r](r) и затем
529 заменяющий символ.
530
531 3. [Операторы изменения](c) изменяют указанный объект текста от позиции каретки
532 до конечной точки перемещения.
533 Например, по команде `ce`{normal} можно изменить текст от позиции каретки
534 до конца слова, а по команде `c$`{normal} - до конца строки.
535
536 4. Формат команд изменения:
537
538 c [число] объект
539
540 где c - оператор изменения;
541 [число] - количество изменяемых объектов (необязательная часть);
542 объект - объект текста, который будет изменён.
543
544Теперь переходите к следующему уроку.
545
546
547# УРОК 1.4.1. ИНФОРМАЦИЯ О ФАЙЛЕ И ПОЗИЦИЯ КАРЕТКИ
548
549** Чтобы получить информацию о файле и позиции каретки, нажмите `<CTRL-g>`{normal}
550 Чтобы переместить каретку к заданной строке в файле, нажмите `G`{normal} **
551
552 **ВНИМАНИЕ!** Прочитайте весь урок, прежде чем выполнять любые действия!
553
554 1. Удерживая клавишу `<CTRL>`{normal}, нажмите клавишу `g`{normal}.
555 Внизу экрана появится сообщение с наименованием файла и номером строки,
556 в которой находится каретка. Запомните этот номер строки,
557 он потребуется на шаге 3.
558
559 **Примечание.**
560 Позиция каретки может отображаться в правом нижнем углу окна программы,
561 если установлен параметр ['ruler']('ruler').
562
563 2. Нажмите клавишу [G](G) для перемещения каретки на последнюю строку файла.
564 Теперь наберите [gg](gg) для перемещения каретки на первую строку файла.
565
566 3. Наберите номер строки, которой был получен на шаге 1, и нажмите клавишу
567 `G`{normal}. Каретка будет перемещена в ту строку, где она находилась,
568 когда в первый раз были нажаты клавиши `<CTRL-g>`{normal}.
569
570 4. Если вы запомнили всё вышесказанное, выполните шаги с 1 по 3.
571
572
573# Урок 1.4.2. КОМАНДЫ ПОИСКА
574
575** Чтобы что-то найти, наберите команду `/`{normal} и введите искомую фразу **
576
577 1. В режиме команд наберите символ `/`{normal}.
578 Обратите внимание, что этот символ будет отображаться внизу экрана. Так же,
579 как и при наборе команды `:`{normal}
580
581 2. Теперь наберите ошшшибка `<ENTER>`{normal}.
582 Это то слово, которое требуется найти.
583
584 3. Чтобы повторить поиск искомого слова, просто нажмите клавишу [n](n).
585 Чтобы искать это слово в обратном направлении, нажмите клавиши [N](N).
586
587 4. Если требуется сразу выполнить поиск в обратном направлении, используйте
588 команду [?](?) вместо команды `/`{normal}.
589
590 5. Чтобы вернуться туда, откуда был начат поиск, нажмите несколько раз
591 клавиши `<CTRL-o>`{normal}.
592 Для перехода вперёд, используйте команду `<CTRL-i>`{normal}.
593
594"ошшшибка" это не способ написания слова "ошибка"; ошшшибка это ошибка.
595
596**Примечание.**
597 Если будет достигнут конец файла, то поиск будет продолжен от начала файла.
598
599
600# Урок 1.4.3. ПОИСК ПАРНЫХ СКОБОК
601
602** Чтобы найти парную скобку для (, [ или {, наберите команду `%`{normal} **
603
604 1. Поместите каретку на любой из скобок (, [ или { в строке помеченной
605
606 2. Теперь нажмите на клавиатуре клавишу с символом [%](%).
607
608 3. Каретка будет перемещена на парную скобку для той скобки, на которой
609 установлена каретка.
610
611 4. Наберите `%`{normal} для возврата каретки назад к первой парной скобке.
612
613В этой ( строке есть такие (, такие [ ] и { такие } скобки. ))
614
615**Примечание.**
616 Это очень удобно при отладке программ, когда в коде пропущены скобки!
617
618
619# Урок 1.4.4. СПОСОБ ЗАМЕНЫ СЛОВ
620
621** Чтобы «что-то» заменить «чем-то», наберите команду `:s/что/чем/g`{vim} **
622
623 1. Переместите каретку к строке помеченной
624
625 2. Наберите
626~~~ cmd
627 :s/уводю/увожу/
628~~~
629 Обратите внимание на то, что по этой команде будет замена только первого
630 найденного вхождение в строке.
631
632 3. Теперь наберите
633~~~ cmd
634 :s/уводю/увожу/g
635~~~
636 Здесь добавленный [флаг](:s_flags) 'g' означает замена во всей строке.
637 Будет выполнена замена всех найденных в строке совпадений.
638
639Я уводю к отверженным селеньям, я уводю сквозь вековечный стон, я уводю к забытым поколеньям.
640
641 4. Чтобы заменить все вхождения искомого слова в каком-то диапазоне строк,
642 наберите
643~~~ cmd
644 :#,#s/что/чем/g
645~~~
646 где #,# - номер начальной и конечной строки диапазона,
647 в котором будет выполнена замена.
648
649 Наберите
650~~~ cmd
651 :%s/что/чем/g
652~~~
653 чтобы заменить все вхождения во всём файле.
654
655 Наберите
656~~~ cmd
657 :%s/что/чем/gc
658~~~
659 чтобы выдавался запрос подтверждения перед каждой заменой.
660
661
662# РЕЗЮМЕ УРОКА 1.4
663
664 1. По приведённым ниже командам будет выполнено:
665 `<CTRL-g>`{normal} - вывод информации о файле и текущей позиции каретки
666 в этом файле
667 `G`{normal} - переход на последнюю строку файла
668 номер и `G`{normal} - переход на строку с указанным номером
669 `gg`{normal} - переход на первую строку файла
670
671 2. При вводе символа `/`{normal} с последующим набором слова, будет выполнен
672 поиск этого слова ВПЕРЁД по тексту.
673 При вводе символа `?`{normal} с последующим набором слова, будет выполнен
674 поиск этого слова НАЗАД по тексту.
675 После показа первого совпадения, нажмите `n`{normal} для перехода
676 к следующему слову в том же направлении поиска или `N`{normal} для поиска
677 в противоположном направлении.
678 При нажатии клавиш `<CTRL-o>`{normal} будет возврат к предыдущему слову,
679 а при нажатии клавиш `<CTRL-i>`{normal} будет переход к ранее найденному
680 слову.
681
682 3. При нажатии `%`{normal}, когда каретка на одной из скобок ( ), [ ] или { },
683 будет найдена её парная скобка.
684
685 4. Чтобы заменить первое найденное слово в строке, наберите
686~~~ cmd
687 :s/что/чем
688~~~
689 Чтобы заменить все найденные слова в строке, наберите
690~~~ cmd
691 :s/что/чем/g
692~~~
693 Чтобы заменить в указанными диапазоне строк, наберите
694~~~ cmd
695 :#,#s/что/чем/g
696~~~
697 Чтобы заменить все найденные слова в файле, наберите
698~~~ cmd
699 :%s/что/чем/g
700~~~
701 Чтобы запрашивалось подтверждение для каждой замены, добавьте флаг 'c'
702~~~ cmd
703 :%s/что/чем/gc
704~~~
705
706# Урок 1.5.1. КАК ВЫЗВАТЬ ИЗ РЕДАКТОРА ВНЕШНЮЮ КОМАНДУ
707
708** Чтобы вызвать команду командной оболочки, наберите в редакторе `:!`{vim} **
709
710 1. Наберите уже знакомую команду `:`{normal}, чтобы каретка была установлена
711 в командной строке редактора и можно было ввести необходимую команду.
712
713 2. Теперь наберите символ [!](!cmd) (восклицательный знак). По этой команде
714 будет вызвана указанная следующей внешняя команда командной оболочки.
715
716 3. Например, наберите "ls" сразу после "!" и нажмите `<ENTER>`{normal}.
717 Будет выведен перечень файлов в текущем каталоге. То есть будет выполнено
718 точно то же самое, как если бы ввести команду `ls` в приглашении командной
719 оболочки.
720 Если в системе неподдерживается команда `ls`, наберите команду `:!dir`{vim}
721
722**Примечание.**
723 Таким способом можно выполнить любую внешнюю команду,
724 в том числе и с указанием необходимых аргументов этой команды.
725
726**Важно.**
727 После ввода команды, начинающейся с `:`{vim}, должна быть нажата клавиша
728 `<ENTER>`{normal}.
729 В дальнейшем это может не указываться отдельно, но подразумеваться.
730
731
732# Урок 1.5.2. КАК ЗАПИСАТЬ ФАЙЛ
733
734** Чтобы сохранить файл со всеми изменениями в тексте, наберите `:w`{vim} ФАЙЛ **
735
736 1. Наберите `:!dir`{vim} или `:!ls`{vim} для получения перечня файлов
737 в текущем каталоге.
738 Как вы помните, после набора команды нажмите клавишу `<ENTER>`{normal}
739
740 2. Придумайте название для файла, которое ещё не существует, например, «TEST».
741
742 3. Теперь наберите
743~~~ cmd
744 :w TEST
745~~~
746 (здесь TEST - это придуманное вами название файла).
747
748 4. По этой команде будет полностью сохранён текущий файл tutor») под новым
749 название «TEST». Чтобы проверить это, снова наберите команду `:!dir`{vim}
750 или `:!ls`{vim} и просмотрите содержимое каталога.
751
752**Примечание.**
753 Если завершить работу редактора Vim и затем запустить его снова с файлом
754 TEST (т. е. набрать команду `vim TEST`), этот файл будет точной копией
755 учебника в тот момент, когда он был сохранён.
756
757 5. Теперь удалите этот файл, набрав в редакторе команду
758~~~ cmd
759 :!del TEST
760~~~
761 (для ОС Windows) или
762~~~ cmd
763 :!rm TEST
764~~~
765 (для UNIX-подобных ОС)
766
767
768# Урок 1.5.3. ВЫБОРОЧНАЯ ЗАПИСЬ СТРОК
769
770** Чтобы сохранить часть файла, нажмите клавишу `v`{normal}, выделите строки
771 и наберите команду `:w ФАЙЛ`{vim} **
772
773 1. Переместите каретку на эту строку.
774
775 2. Нажмите клавишу [v](v) и переместите каретку ниже к строке с пятым пунктом.
776 Обратите внимание, что текст подсвечен.
777
778 3. Нажмите клавишу с символом `:`{normal} и внизу экрана появится
779
780 `:'<,'>`{vim}
781
782 4. Наберите команду
783
784 `w TEST`{vim}
785
786 (здесь TEST - наименование файла, который ещё не существует).
787 В командной строке должно быть
788
789 `:'<,'>w TEST`{vim}
790
791 и нажмите клавишу <ENTER>
792
793 5. По этой команде выбранные строки будут записаны в файл «TEST». Убедитесь в
794 наличии этого файла, воспользовавшись командой `:!dir`{vim} или `:!ls`{vim}.
795 Не удаляйте этот файл, он потребуется на следующем уроке.
796
797**Примечание.**
798 По нажатию клавиши [v](v) выполняется переключение в визуальный режим.
799 Чтобы изменить размер выбранной области, нужно переместить каретку.
800 К выделенному фрагменту можно применить любой оператор, например, `d`{normal}
801 для его удаления.
802
803
804# Урок 1.5.4. СЧИТЫВАНИЕ И ОБЪЕДИНЕНИЕ ФАЙЛОВ
805
806** Чтобы вставить содержащийся в файле текст, наберите `:r ФАЙЛ`{vim} **
807
808 1. Установите каретку над этой строкой.
809
810**Внимание!**
811 После выполнения описанного в пункте 2 вы увидите текст из урока 1.5.3.
812 Переместите каретку вниз по тексту до текущего урока.
813
814 2. Теперь считайте содержимое файла TEST, используя команду
815
816 `:r TEST`{vim}
817
818 здесь TEST - это наименование файла.
819 Файл будет считан, и его содержимое помещено ниже строки с кареткой.
820
821 3. Для проверки, что содержимое файла было вставлено, переместите каретку
822 вверх по тексту и удостоверьтесь, что теперь здесь два урока 1.5.3. -
823 исходный и из файла TEST.
824
825**Примечание.**
826 Вставить можно и результат внешней команды. Например, по команде
827
828 `:r !ls`{vim}
829
830 будет получен вывод команды `ls` и вставлен ниже позиции каретки.
831
832
833# РЕЗЮМЕ УРОКА 1.5
834
835 1. По команде [:!command](:!cmd) будет исполнена указанная внешняя команда.
836
837 Некоторые полезные примеры:
838 (Windows) (UNIX)
839 `:!dir`{vim} `:!ls`{vim} - вывести перечень файлов в каталоге;
840 `:!del ФАЙЛ`{vim} `:!rm ФАЙЛ`{vim} - удалить файл с указанным названием.
841
842 2. По команде [:w](:w) ФАЙЛ текущий редактируемый файл будет записан
843 с указанным наименованием.
844
845 3. Используя команды [v](v), перемещение каретки и `:w ФАЙЛ`{vim} можно
846 сохранить визуально выделенные строки в файл с указанным наименованием.
847
848 4. По команде [:r](:r) ФАЙЛ будет прочитан файл с указанным наименованием
849 и его содержимое помещено ниже позиции каретки.
850
851 5. По команде [:r !dir](:r!) будет получен вывод команды `dir` и помещён
852 ниже позиции каретки.
853
854
855# УРОК 1.6.1. КОМАНДЫ ДЛЯ СОЗДАНИЯ СТРОК
856
857** Чтобы открыть новую строку с переходом в режим вставки, наберите `o`{normal} **
858
859 1. Переместите каретку вниз, к первой строке помеченной
860
861 2. Нажмите клавишу `o`{normal} для того, чтобы создать [пустую строку](o) НИЖЕ
862 позиции каретки и переключить редактор в режим вставки.
863
864 3. Теперь наберите какой-нибудь текст и нажмите клавишу `<ESC>`{normal} для
865 выхода из режима вставки.
866
867При нажатии `o`{normal}, ниже будет открыта новая пустая строка в режиме вставки.
868
869 4. Для создания строки ВЫШЕ позиции каретки, наберите прописную букву [O](O),
870 вместо строчной буквы `o`{normal}. Попробуйте это сделать для строки ниже.
871
872Создайте новую строку над этой, поместив сюда каретку и нажав клавишу `O`{normal}.
873
874
875# УРОК 1.6.2. КОМАНДА ДЛЯ ДОБАВЛЕНИЯ ТЕКСТА
876
877** Чтобы вставить текст после позиции каретки, наберите `a`{normal} **
878
879 1. Переместите каретку вниз, в начало первой строки помеченной
880
881 2. Нажмите клавишу `e`{normal}, пока каретка не окажется на последнем символе
882 слова «стро».
883
884 3. Нажмите клавишу `a`{normal} для [добавления](a) текста ПОСЛЕ символа,
885 находящегося под кареткой.
886
887 4. Допишите слово как в строке ниже. Нажмите клавишу `<ESC>`{normal} для выхода
888 из режима вставки.
889
890 5. Используйте клавишу `e`{normal} для перехода к следующему незавершённому
891 слову и повторите действия, описанные в пунктах 3 и 4.
892
893На этой стро вы можете попрактиков в добавле текста.
894На этой строке вы можете попрактиковаться в добавлении текста.
895
896**Примечание.**
897 По команде [a](a), [i](i) и [A](A) будет выполнено переключение в один
898 и тотже режим вставки, различие только в том, где вставляются символы.
899
900
901# Урок 1.6.3. ЕЩЁ ОДИН СПОСОБ ЗАМЕНЫ
902
903** Чтобы заменить несколько символов в строке, наберите `R`{normal} **
904
905 1. Переместите каретку в начало первого слова «xxx» в строке помеченной
906
907 2. Теперь нажмите [R](R) и введите число, указанное ниже во второй строке,
908 чтобы заменить символы «xxx».
909
910 3. Нажмите клавишу `<ESC>`{normal} для выхода из режима замены. Заметьте,
911 что остаток строки не был изменён.
912
913 4. Повторите эти шаги для замены оставшихся слов «xxx».
914
915При сложении числа 123 с числом xxx сумма будет xxx.
916При сложении числа 123 с числом 456 сумма будет 579.
917
918**Примечание.**
919 Режим замены похож на режим вставки, но каждый введённый символ удаляет
920 существующий символ в строке.
921
922
923# Урок 1.6.4. КОПИРОВАНИЕ И ВСТАВКА ТЕКСТА
924
925** Чтобы копировать текст, используйте оператор `y`{normal},
926 чтобы вставить команду `p`{normal} **
927
928 1. Установите каретку после символов «а)» в строке помеченной
929
930 2. Переключите редактор в визуальный режим командой `v`{normal} и переместите
931 каретку вперёд до слова «первый».
932
933 3. Нажмите клавишу `y`{normal} для [копирования](yank) подсвеченного текста.
934
935 4. Переместите каретку в конец следующей строки, набрав команду `j$`{normal}.
936
937 5. Нажмите клавишу `p`{normal} для [вставки](put) текста.
938
939 6. Затем наберите команду `a`{normal}, напечатайте слово "второй"
940 и нажмите клавишу `<ESC>`{normal}.
941
942 7. Повторите шаги с 1 по 4, только установите каретку после слова «первый»,
943 выделите, скопируйте и вставьте слово « пункт.»
944
945а) Это первый пункт.
946б)
947
948**Примечание.**
949 Для копирования одного слова можно использовать команду `yw`{normal}
950 (оператор `y`{normal} и объект `w`{normal}).
951 По команде `yy`{normal} будет скопирована целая строка, а по команде
952 `p`{normal} вставлена.
953
954
955# Урок 1.6.5. УСТАНОВКА ПАРАМЕТРОВ
956
957** Чтобы при поиске или замене не учитывался регистр символов,
958 задайте соответствующие настройки **
959
960 1. Найдите слово «игнорировать», набрав команду `/игнорировать`{normal}.
961 Повторите поиск несколько раз, нажимая клавишу `n`{normal} .
962
963 2. Установите параметр 'ic' (игнорировать регистр), набрав команду
964~~~ cmd
965 :set ic
966~~~
967 3. Ещё раз повторите поиск слова «игнорировать», нажимая клавишу `n`{normal}
968 Заметьте, что теперь будут найдены слова «Игнорировать» и «ИГНОРИРОВАТЬ».
969
970 4. Установите параметры 'hlsearch' и 'incsearch' командой
971~~~ cmd
972 :set hls is
973~~~
974 5. Повторно введите команду поиска `/игнорировать` и посмотрите, что получится
975
976 6. Для возврата учёта регистра символов при поиске, введите команду
977~~~ cmd
978 :set noic
979~~~
980**Примечание.**
981 Для отключения подсветки совпадений, наберите команду
982~~~ cmd
983 :nohlsearch
984~~~
985**Примечание.**
986 Если требуется не учитывать регистр символов только единоразово, используйте
987 ключ [\c](/\c) в команде поиска, например, `/игнорировать\c``<ENTER>`{normal}
988
989
990# РЕЗЮМЕ УРОКА 1.6
991
992 1. По команде `o`{normal} будет создана пустая строка ниже строки с кареткой
993 и редактор будет переключен в режим вставки
994 По команде `O`{normal} будет создана пустая строка выше строки с кареткой
995 и редактор будет переключен в режим вставки
996
997 2. По команде `a`{normal} выполняется вставки текста ПОСЛЕ позиции каретки.
998 По команде `A`{normal} выполняется вставки текста в конце строки.
999
1000 3. По команде `e`{normal} выполняется установка каретки в конце слова.
1001
1002 4. Оператор `y`{normal} используется для копирования текста,
1003 а по команде `p`{normal} происходит вставка скопированного текста.
1004
1005 5. При нажатии клавиш `R`{normal} выполняется переключение в режим замены,
1006 а отключение - нажатием клавиши `<ESC>`{normal}.
1007
1008 6. Наберите [:set](:set) xxx для установки параметра 'xxx'.
1009
1010 Вот некоторые параметры (можно указывать полные или сокращённые наименования):
1011 'ic' 'ignorecase' игнорирование регистра символов при поиске
1012 'is' 'incsearch' отображение частичных совпадений при поиске
1013 'hls' 'hlsearch' подсветка всех совпадений при поиске
1014
1015 7. Для сброса параметра, добавьте приставку "no" к его названию
1016~~~ cmd
1017 :set noic
1018~~~
1019 8. Для переключения состояния параметра, добавьте приставку "inv" к названию
1020~~~ cmd
1021 :set invic
1022~~~
1023
1024# УРОК 1.7.1. ВСТРОЕННАЯ СПРАВОЧНАЯ СИСТЕМА
1025
1026** Используйте встроенную справочную систему **
1027
1028 В редакторе Vim имеется мощная встроенная справочная система, и чтобы начать
1029 ей пользоваться, попробуйте один из трёх вариантов:
1030 - нажмите клавишу `<HELP>`{normal} (если она есть на клавиатуре)
1031 - нажмите клавишу `<F1>`{normal} (если она есть на клавиатуре)
1032 - наберите
1033 `:help`{vim}
1034
1035 Ознакомьтесь с информацией в окне справочной системы, чтобы получить
1036 представление о том как работать с документацией.
1037
1038 Нажмите `<CTRL-w><CTRL-w>`{normal} для перемещения каретки из одного окна
1039 в другое окно.
1040 Наберите `:q`{normal}, чтобы закрыть окно справочной системы (когда каретка
1041 находится в этом окне).
1042
1043 Можно найти описание для любого понятия или команды, задав соответствующий
1044 аргумент команде `:help`{vim}.
1045 Попробуйте следующее (не забудьте нажать `<ENTER>`{normal}):
1046~~~ cmd
1047 :help w
1048 :help c_CTRL-D
1049 :help insert-index
1050 :help user-manual
1051~~~
1052
1053# Урок 1.7.2. СОЗДАНИЕ СТАРТОВОГО КОМАНДНОГО ФАЙЛА
1054
1055** Включим все возможности редактора Vim **
1056
1057 Редактор Vim более функционален по сравнению с редактором Vi, но большинство
1058 из этих возможностей отключены при запуске программы. Чтобы активировать
1059 весь потенциала редактора, необходимо создать файл «vimrc».
1060
1061 1. Создайте новый файл "vimrc". Его местонахождение зависит от используемой
1062 системы:
1063~~~ cmd
1064 :e ~/.vimrc
1065~~~
1066 для UNIX-подобных систем
1067~~~ cmd
1068 :e $VIM\_vimrc
1069~~~
1070 для MS Windows
1071
1072 2. Теперь добавьте в этот файл содержимое шаблонного файла «vimrc»
1073~~~ cmd
1074 :r $VIMRUNTIME/vimrc_example.vim
1075~~~
1076 3. Запишите созданный вами файл «vimrc»
1077 `:w`{vim}
1078
1079 Теперь при следующем запуске редактора Vim будет включена подсветка синтаксиса.
1080
1081 Все необходимые вам настройки могут быть добавлены в файл «vimrc».
1082 Чтобы получить подробную информацию, наберите `:help vimrc-intro`{vim}
1083
1084
1085# Урок 1.7.3. ПОДСТАНОВКА КОМАНД
1086
1087** Подстановка в командной строке выполняется при помощи следующих клавиш
1088 `<CTRL-D>`{normal} и `<TAB>`{normal}**
1089
1090 1. Отключите совместимость с редактором Vi
1091~~~ cmd
1092 :set nocp
1093~~~
1094 2. Посмотрите, какие файлы есть в каталоге, набрав команду
1095 `:!ls`{vim} или `:!dir`{vim}
1096
1097 3. Наберите начало команды для открытия файла на редактирование `:e`{vim}
1098
1099 4. Нажмите клавиши `<CTRL-D>`{normal}, и будет показан перечень команд
1100 редактора Vim начинающихся с буквы «e».
1101
1102 5. Нажмите клавиши `d<TAB>`{normal}, и будет подставлено полное название
1103 команды `:edit`{vim}.
1104
1105 6. Теперь напечатайте пробел и начало наименования существующего файла
1106 `:edit TE`{vim}
1107
1108 7. Нажмите клавишу `<TAB>`{normal} и будет подставлено наименование файла,
1109 если оно уникальное.
1110
1111**Примечание.**
1112 Подстановка работает для множества команд. Просто попробуйте нажать клавиши
1113 `<CTRL-D>`{normal} и `<TAB>`{normal} для любой из команд редактора.
1114 Это особенно полезно для команды `:help`{vim}.
1115
1116
1117# РЕЗЮМЕ УРОКА 1.7
1118
1119 1. Чтобы открыть встроенную справочную систему редактора, наберите команду
1120 `:help`{vim} или нажмите клавишу `<F1>`{normal}, или `<HELP>`{normal}.
1121
1122 2. Чтобы найти справочную информацию о какой-либо команде,
1123 наберите `:help cmd`{vim} (вместо «cmd» укажите наименование команды).
1124
1125 3. Чтобы переместить каретку в другое окно, нажмите клавиши
1126 `<CTRL-w><CTRL-w>`{normal}.
1127
1128 4. Чтобы закрыть окна справочной системы (если оно активно), наберите `:q`{vim}.
1129
1130 5. Чтобы при запуске всегда применялись необходимые вам настройки, создайте
1131 стартовый командный файл vimrc.
1132
1133 6. При наборе команды, начинающейся с символа `:`{normal}, нажмите клавиши
1134 `<CTRL-D>`{normal}, чтобы просмотреть возможные варианты подстановки.
1135 Нажмите клавишу `<TAB>`{normal} для подстановки необходимого варианта.
1136
1137
1138# ЗАКЛЮЧЕНИЕ
1139
1140 На этом можно завершить первую часть занятий, посвящённые редактору Vim.
1141 Далее вы можете пройти [вторую часть](@tutor:vim-02-beginner) занятий.
1142
1143 Целью данного курса было дать краткий обзор редактора Vim, достаточный для
1144 того, чтобы не возникало сложностей при его использовании. Это далеко не
1145 полный обзор, поскольку в редакторе Vim есть ещё много-много команд.
1146
1147 Чтобы расширить свои познания, ознакомьтесь с руководством пользователя,
1148 набрав команду `:help user-manual`{vim}.
1149
1150 Для дальнейшего чтения рекомендуется книга
1151 «*Vim - Vi Improved*», автор Steve Oualline, издательство New Riders.
1152 Она полностью посвящена редактору Vim и будет особенно полезна новичкам.
1153 В книге имеется множество примеров и иллюстраций.
1154 См. https://iccf-holland.org/click5.html
1155
1156 Также рекомендуется книга «*Practical Vim*», автор Drew Neil,
1157 издательство Pragmatic Bookshelf.
1158 См. https://pragprog.com/titles/dnvim2/practical-vim-second-edition/
1159
1160 Ещё одна книга более почтенного возраста и посвящена больше редактору Vi,
1161 чем редактору Vim, однако также рекомендуется к прочтению
1162 «*Learning the Vi Editor*», автор Linda Lamb,
1163 издательство O'Reilly & Associates Inc.
1164 Это хорошая книга, чтобы узнать всё, что только можно сделать в редакторе Vi.
1165 Шестое издание этой книги включает информацию о редакторе Vim.
1166
1167 К томуже в Интернет есть множество ресурсов, где можно узнать многое
1168 о редакторе Vim. Вот некоторые из них:
1169
1170 - *Learn Vim Progressively*:
1171 http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/
1172 - *Learning Vim in 2014*:
1173 http://benmccormick.org/learning-vim-in-2014/
1174 - *Vimcasts*:
1175 http://vimcasts.org/
1176 - *Vim Video-Tutorials by Derek Wyatt*:
1177 http://derekwyatt.org/vim/tutorials/
1178 - *Learn Vimscript the Hard Way*:
1179 http://learnvimscriptthehardway.stevelosh.com/
1180 - *7 Habits of Effective Text Editing*:
1181 http://www.moolenaar.net/habits.html
1182 - *vim-galore*:
1183 https://github.com/mhinz/vim-galore
1184
1185 Эти уроки были составлены Michael C. Pierce и Robert K. Ware из Colorado
1186 School of Mines с учётом идей, предложенных Charles Smith из Colorado State
1187 University. E-mail: bware@mines.colorado.edu (теперь недоступен).
1188
1189 Уроки доработаны Bram Moolenaar для использования в редакторе Vim.
1190 Уроки доработаны Felipe Morales для обучающего режима редактора Vim.
1191
1192 Андрей Киселёв, перевод на русский язык, 2002, a_kissel@eudoramail.com
1193 Сергей Алёшин, перевод на русский язык, 2014, alyoshin.s@gmail.com
1194 Restorer, редактура, 2022, restorer@mail2k.ru