]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.1210: translation(ru): missing Russian translation for the new tutor v9.1.1210
authorRestorerZ <restorer@mail2k.ru>
Sun, 16 Mar 2025 18:49:41 +0000 (19:49 +0100)
committerChristian Brabandt <cb@256bit.org>
Sun, 16 Mar 2025 19:03:51 +0000 (20:03 +0100)
Problem:  translation(ru): missing Russian translation for the new tutor
Solution: include new Russian translation, update the Makefile for
          installing the new translations (RestorerZ)

closes: #16901

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Filelist
runtime/tutor/ru/vim-01-beginner.tutor [new file with mode: 0644]
runtime/tutor/ru/vim-01-beginner.tutor.json [new file with mode: 0644]
runtime/tutor/ru/vim-02-beginner.tutor [new file with mode: 0644]
runtime/tutor/ru/vim-02-beginner.tutor.json [new file with mode: 0644]
src/Makefile
src/version.c

index 7d18e9463f9359678a357e1368f2383df7283f31..8333614b2d4afafdcfedc8cd73c345997c50788b 100644 (file)
--- a/Filelist
+++ b/Filelist
@@ -1080,6 +1080,10 @@ LANG_GEN = \
                runtime/tutor/Make_all.mak \
                runtime/tutor/it/vim-01-beginner.tutor \
                runtime/tutor/it/vim-01-beginner.tutor.json \
+               runtime/tutor/ru/vim-01-beginner.tutor \
+               runtime/tutor/ru/vim-01-beginner.tutor.json \
+               runtime/tutor/ru/vim-02-beginner.tutor \
+               runtime/tutor/ru/vim-02-beginner.tutor.json \
                runtime/tutor/sr/vim-01-beginner.tutor \
                runtime/tutor/sr/vim-01-beginner.tutor.json \
                runtime/tutor/sr/vim-02-beginner.tutor \
diff --git a/runtime/tutor/ru/vim-01-beginner.tutor b/runtime/tutor/ru/vim-01-beginner.tutor
new file mode 100644 (file)
index 0000000..e4c327c
--- /dev/null
@@ -0,0 +1,1194 @@
+#             ДОБРО  ПОЖАЛОВАТЬ  НА  ЗАНЯТИЯ  ПО  РЕДАКТОРУ  Vim
+
+##                             ГЛАВА ПЕРВАЯ
+
+   Программа Vim — это очень мощный текстовый редактор, имеющий множество
+   команд, и все их просто невозможно описать в рамках этого учебника.
+   Данный же учебник призван объяснить те команды, которые позволят вам с
+   лёгкостью использовать программу Vim в качестве редактора общего назначения.
+
+   Важно помнить, что этот учебник предназначен для практического обучения.
+   Это означает, что вы должны применять команды для того, чтобы как следует
+   их изучить. Если вы просто прочитаете этот текст, то не запомните команды!
+
+   Теперь, убедившись, что не включена клавиша `<CapsLock>`{normal},
+   нажмите клавишу `j`{normal} несколько раз, так, чтобы урок 0 полностью
+   поместился на экране.
+
+#          ВВОДНАЯ ЧАСТЬ
+
+**Важно!**
+    Выполняя задания уроков, вы будете изменять некоторый текст этих заданий,
+    но эти изменения не будут сохранятся в файле. Так что не бойтесь что что‐то
+    испортится; просто помните, что нажав клавишу [<ESC>](<Esc>) и затем клавишу
+    [u](u) можно отменить последние сделанные изменения.
+
+Это интерактивный учебник, и есть несколько важных моментов, о которых надо знать.
+‑ Если нажать клавишу [<ENTER>](<Enter>) когда каретка находится
+  на [такой ссылке](holy-grail), то будет открыт связанный с ней раздел
+  документации.
+‑ К тому же, если нажать клавишу [K](K) на любом слове, то будет выполнен поиск
+  этого слова в документации.
+- Также в ходе урока вам потребуется изменять текст, например,
+как этот
+  Если задание будет выполнено правильно, то значок ✗  справа изменится на ✓.
+  Надеюсь, вы уже начинаете понимать насколько удобным может быть редактора Vim.
+- Либо может быть предложено набрать команду, похожую на эту (объяснение далее):
+~~~ cmd
+       :help <ENTER>
+~~~
+или нажать последовательность клавиш
+~~~ normal
+       <ESC>0f<SPACE>d3wP$P
+~~~
+Текст, заключённый в угловые скобки (вроде `<ENTER>`{normal}), означает клавиши,
+которые надо нажать на клавиатуре, а не текст который надо набирать.
+
+Ну что ж, переходим к следующему уроку (используйте для этого клавишу `j`{normal}
+для прокрутки окна вниз).
+
+
+#          Урок 1.1.1. ПЕРЕМЕЩЕНИЕ КАРЕТКИ
+
+** Чтобы перемещать каретку в указанных направлениях, нажмите клавиши
+                       `h`, `j`, `k`, `l`**
+
+           ↑        *Подсказка.*
+           k         Клавиша `h`{normal} слева и удобна для перемещения влево.
+       ← h   l →     Клавиша `l`{normal} справа и удобна для перемещения вправо.
+           j         Клавиша `j`{normal} похожа на стрелку »вниз».
+           ↓
+  1. Перемещайте каретку в разных направлениях, пока не ощутите уверенность.
+
+  2. Удерживайте нажатой клавишу «вниз» (`j`{normal}) для беспрерывного
+    перемещения каретки. Теперь вы знаете, как перейти к следующему уроку.
+
+  3. Используя клавишу «вниз», то есть `j`{normal}, перейдите к уроку 1.1.2
+
+**Совет.**
+    Если вы не уверены в правильности набранного текста, нажмите клавишу
+    `<ESC>`{normal}, чтобы переключить редактор в режим команд.
+    После этого повторите набор.
+
+**Примечание.**
+    Клавиши управления курсором (стрелки) также должны работать.
+    Но учтите, что немного потренировавшись вы поймёте, что намного быстрее
+    перемещать каретку клавишами  `h`{normal} `j`{normal} `k`{normal} `l`{normal} 
+
+
+#          Урок 1.1.2. ЗАВЕРШЕНИЕ РАБОТЫ ПРОГРАММЫ  *1-1-2*
+
+**ВНИМАНИЕ!** Перед выполнением описанных ниже действий, прочтите урок полностью!
+
+  1. Нажмите клавишу `<ESC>`{normal} (чтобы убедиться, что включен режим команд).
+
+  2. Наберите
+
+       `:q!`{vim} `<ENTER>`{normal}
+
+     Это означает, что надо набрать три символа  : q ! и нажать клавишу <ВВОД>
+     Исполнение этой команды вызовет завершение работы редактора БЕЗ СОХРАНЕНИЯ
+     любых сделанных изменений.
+
+  3. Снова запустите редактор Vim и повторно наберите команду, через которую вы
+     открыли этот учебник. Это может быть
+
+       `:Tutor`{vim} `<ENTER>`{normal}
+
+  4. Если уверены в том, что поняли смысл вышесказанного, выполните шаги
+     с 1 до 3, чтобы завершить работу и снова запустить редактор.
+
+**Примечание.**
+    По команде [:q!](:q) `<ENTER>`{normal} будут сброшены сделанные изменения.
+    Через несколько уроков вы узнаете как сохранять изменения в файл.
+
+  5. Переместите каретку вниз к уроку [1.1.3](*1-1-3*).
+
+
+#          Урок 1.1.3. РЕДАКТИРОВАНИЕ — УДАЛЕНИЕ ТЕКСТА  *1-1-3*
+
+** Чтобы удалить символ под кареткой, нажмите клавишу `x`{normal} **
+
+  1. Переместите каретку к строке помеченной ✗.
+
+  2. Чтобы исправить ошибки, перемещайте каретку, пока она не окажется над
+     удаляемым символом.
+
+  3. Нажмите клавишу [x](x) для удаления требуемого символа.
+
+  4. Повторите шаги со 2 по 4, пока строка не будет исправлена.
+
+От тттопота копытт пппыль ппо ппполю леттитт.
+
+  5. Теперь, когда строка исправлена, переходите к уроку [1.1.4](*1-1-4*).
+
+**Примечание.**
+    В ходе этих занятий не пытайтесь сразу всё запоминать, учитесь в процессе
+    работы.
+
+
+#          Урок 1.1.4. РЕДАКТИРОВАНИЕ — ВСТАВКА ТЕКСТА  *1-1-4*
+
+** Чтобы вставить текст, нажмите клавишу `i`{normal} **
+
+  1. Переместите каретку к первой строке помеченной ✗.
+
+  2. Чтобы сделать первую строку идентичной второй, установите каретку на тот
+     символ, ПЕРЕД которым следует вставить текст.
+
+  3. Нажмите клавишу [i](i) и наберите текст, который требуется вставить.
+
+  4. После исправления каждого ошибочного слова, нажмите клавишу `<ESC>`{normal}
+     для переключения в режим команд.
+
+     Повторите шаги со 2 по 4, пока предложение не будет исправлено полностью.
+
+Часть текта в строке бесследно .
+Часть текста в этой строке бесследно пропало.
+
+  5. Когда освоите вставку текста, переходите к уроку [1.1.5](*1-1-5*).
+
+
+#          Урок 1.1.5. РЕДАКТИРОВАНИЕ — ДОБАВЛЕНИЕ ТЕКСТА  *1-1-5*
+
+** Чтобы добавить текст, нажмите клавишу `A`{normal} **
+
+  1. Переместите каретку к первой строке помеченной ✗.
+     Сейчас неважно, на каком символе расположена каретка в этой строке.
+
+  2. Нажмите клавишу [A](A) и наберите текст, который требуется добавить.
+
+  3. После добавления текста нажмите клавишу `<ESC>`{normal} для возврата
+     в режим команд.
+
+  4. Переместите каретку на следующую строку, помеченную ✗
+     и повторите шаги со 2 по 3 для исправления этой строки.
+
+Часть текста в этой строке бессле
+Часть текста в этой строке бесследно пропало.
+Здесь также недостаёт час
+Здесь также недостаёт части текста.
+
+  5. Когда освоите добавление текста, переходите к уроку [1.1.6](*1-1-6*).
+
+
+#          УРОК 1.1.6. РЕДАКТИРОВАНИЕ И ЗАПИСЬ ФАЙЛА  *1-1-6*
+
+ ** Чтобы сохранить файл и закрыть редактор, используйте команды `:wq`{vim} **
+
+ **ВНИМАНИЕ!** Перед выполнением описанных ниже действий, прочтите урок полностью!
+
+  1. Завершите работу редактора Vim, как указано в уроке [1.1.2](*1-1-2*)
+     `:q!`{vim}
+     Если есть доступ к другому терминалу, то там можете сделать следующее:
+
+  2. В приглашении командной оболочки введите команду
+~~~ sh
+    $ vim tutor
+~~~
+     где vim - команда для запуска редактора Vim, а tutor - наименование
+     файла для редактирования. Укажите такой файл, который можно изменять.
+
+  3. Вставляйте и удаляйте текст, как описано в предыдущих уроках.
+
+  4. Сохраните этот изменённый файл и завершите работу программы Vim,
+     набрав команду
+~~~ cmd
+    :wq
+~~~
+  5. Если вы вышли из vimtutor на шаге 1, перезапустите vimtutor и переходите
+     далее к резюме.
+
+  6. После того как вы прочли и поняли вышесказанное, выполните описанные шаги.
+
+
+#          РЕЗЮМЕ УРОКА 1.1
+
+  1. Каретку можно перемещать либо клавишами со стрелками, либо клавишами hjkl.
+       h (влево)  j (вниз)    k (вверх)  l (вправо)
+
+  2. Чтобы запустить редактор Vim из приглашения командной оболочки, наберите
+~~~ sh
+    $ vim ФАЙЛ
+~~~
+  3. Чтобы завершить работу редактора Vim, выполните одно из следующих:
+       `<ESC>`{normal} `:q!`{vim} `<ENTER>`{normal}
+    по этой команде не будут сохранены изменения;
+                       или
+       `<ESC>`{normal} `:wq`{vim} `<ENTER>`{normal}
+    по этой команде будут сохранены изменения.
+
+  4. Чтобы удалить символ под кареткой, нажмите клавишу `x`{normal}.
+
+  5. Чтобы вставить текст перед кареткой:
+       `i`{normal} вставляемый текст `<ESC>`{normal}
+     Чтобы добавить текст в конце строки:
+       `A`{normal} добавляемый текст `<ESC>`{normal}
+
+**Примечание.**
+    По нажатию клавиши `<ESC>`{normal} будет выполнено переключение редактора
+    в режим команд с прерыванием обработки любой ранее набранной команды.
+
+Теперь переходите к уроку [1.2](*1-2-1*).
+
+
+#          Урок 1.2.1. КОМАНДЫ УДАЛЕНИЯ  *1-2-1*
+
+     ** Чтобы удалить слово под кареткой, используйте команду `dw`{vim} **
+
+  1. Переключите редактор в режим команд, нажав клавишу `<ESC>`{normal}.
+
+  2. Переместите каретку к строке помеченной ✗
+
+  3. Установите каретку на начало слова, которое следует удалить.
+
+  4. Наберите [dw](dw) для удаления этого слова.
+
+**Примечание.**
+    При наборе оператора `d`{normal} он отобразится в самой нижней строке справа,
+    и программа будет ожидать ввода следующей команды,
+    в данном случае - `w`{normal} (объект слово).
+    Если что-то не получается, нажмите клавишу `<ESC>`{normal} и начните сначала.
+
+Несколько слов рафинад в этом предложении автокран излишни.
+
+  5. Повторите шаги 3 и 4, пока не исправите все ошибки, и переходите
+     к уроку [1.2.2](*1-2-2*).
+
+
+#          Урок 1.2.2. ЕЩЁ ОДНА КОМАНДА УДАЛЕНИЯ  *1-2-2*
+
+** Чтобы удалить текст до конца строки, используйте команду `d$`{vim} **
+
+  1. Переключите редактор в режим команд, нажав клавишу `<ESC>`{normal}.
+
+  2. Переместите каретку к строке помеченной ✗
+
+  3. Установите каретку после корректного предложения (ПОСЛЕ первой точки).
+
+  4. Наберите [d$](d$) для удаления остатка строки.
+
+Кто-то набрал окончание этой строки дважды. окончание этой строки дважды.
+
+  5. Чтобы лучше разобраться в том как это происходит,
+     обратитесь к уроку [1.2.3](*1-2-3*).
+
+
+#          Урок 1.2.3. ОПЕРАТОРЫ И ОБЪЕКТЫ  *1-2-3*
+
+  Многие команды, изменяющие текст, являются составными и формируются
+  из [оператора](operator) и [объекта](navigation), к которому применяется
+  этот оператор.
+  Так, например, формат команды удаления с оператором [d](d) следующий:
+
+       d   объект
+  где
+    d      - оператор удаления;
+    объект - область текста (указаны ниже), к которой будет применён оператор.
+
+  Краткий перечень объектов:
+    [w](w) - от позиции каретки до конца слова, включая последующий пробел;
+    [e](e) - от позиции каретки до конца слова, исключая последующий пробел;
+    [$]($) - от позиции каретки до конца строки, включая последний символ.
+
+  Таким образом, ввод команды `de`{normal} вызывает удаление текста
+  от позиции каретки до конца слова.
+
+**Примечание.**
+    Если в режиме команд, без ввода оператор, нажать клавишу с символом,
+    с которым ассоциирован объект, то каретка будет перемещена так, как
+    указано в перечне объектов.
+
+
+#          Урок 1.2.4. ПРИМЕНЕНИЕ СЧЁТЧИКА СОВМЕСТНО С ОБЪЕКТАМИ
+
+** Чтобы перемещение каретка выполнялось необходимое количество раз,
+               укажите перед объектом требуемое число **
+
+  1. Установите каретку на начало строки помеченной ✓
+
+  2. Наберите `2w`{normal} для перемещения каретки вперёд к началу второго слова.
+
+  3. Наберите `3e`{normal} для перемещения каретки вперёд к концу третьего слова.
+
+  4. Наберите `0`{normal} ([ноль](0)) для перемещения каретки к началу строки.
+
+  5. Повторите шаги 2 и 3 с различными значениями чисел.
+
+Обычная строка из слов, чтобы вы на ней потренировались перемещать каретку.
+
+  6. Когда освоите это, переходите к уроку [1.2.5.](*1-2-5*)
+
+
+#          Урок 1.2.5. ПРИМЕНЕНИЕ СЧЁТЧИКА ДЛЯ МНОЖЕСТВЕННОГО УДАЛЕНИЯ  *1-2-5*
+
+** Чтобы применить оператор несколько раз, укажите число требуемых повторов **
+
+  Используя приведённые ранее составные команды удаления и перемещения,
+  укажите перед объектом число повторов выполнения операции удаления.
+
+        d   число   объект
+
+  1. Установите каретку на первом слове из прописных букв в строке ✗
+
+  2. Наберите `d2w`{normal} для удаления двух идущих друг за другом слов
+     из прописных букв.
+
+  3. Повторите шаги 1 и 2 с указанием других числовых значений, чтобы удалить
+     группы слов из прописных букв одной командой.
+
+Эта АБВ ГД строка ЕЖЗИ КЛ МНО очищена от П РС ТУФ лишних слов.
+
+
+#          Урок 1.2.6. ОПЕРАЦИИ СО СТРОКАМИ
+
+** Чтобы удалить строку целиком, используйте команду `dd`{normal} **
+
+  Так как часто требуется выполнять удаление всей строки целиком, создатели
+  редактора решили облегчить этот процесс, и предложили для этого просто
+  дважды нажать на клавишу с буквой d.
+
+  1. Переместите каретку к строке номер два.
+  2. Наберите [dd](dd) для удаления строки.
+  3. Теперь переместите каретку к строке номер четыре.
+  4. Наберите `2dd`{normal} для удаления двух строк подряд.
+
+1)  Летом я хожу на стадион,
+2)  О, как внезапно кончился диван!
+3)  Я болею за «Зенит», «Зенит» — чемпион!
+4)  Печально я гляжу на наше поколенье!
+5)  Его грядущее — иль пусто, иль темно...
+6)  Я сижу на скамейке в ложе «Б»
+7)  И играю на большой жестяной трубе
+
+
+
+  Дублирование оператора для обработки целой строки применяется и с другими
+  операторами, о которых говорится далее.
+
+
+#          Урок 1.2.7. КОМАНДА ОТМЕНЫ
+
+** Чтобы отменить результат предыдущей команды, нажмите клавишу `u`{normal}
+ Чтобы отменить правки для всей строки, нажмите клавишу `U`{normal} **
+
+  1. Установите каретку на первой ошибке, в строке помеченной ✗
+
+  2. Нажмите клавишу `x`{normal} для удаления первого ошибочного символа.
+
+  3. Теперь нажмите клавишу `u`{normal} для отмены последней выполненной команды.
+
+  4. Исправьте все ошибки в строке, используя команду `x`{normal}.
+
+  5. Теперь нажмите клавишу `U`{normal}, чтобы вернуть всю строку
+     в исходное состояние.
+
+  6. Нажмите клавишу `u`{normal} несколько раз для отмены команды `U`{normal}
+     и предыдущих команд.
+
+  7. Теперь нажмите клавиши `<CTRL-r>`{normal} (т. е. удерживая клавишу `<CTRL>`,
+     нажмите клавишу `r`) несколько раз для возврата действий команд.
+
+Испрравьте оошибки в этойй строке и вернитте их сс помощьью команды «отмена».
+
+  8. Это очень нужные и полезные команды.
+
+Далее переходите к резюме урока [1.2](*1-2*).
+
+
+#          РЕЗЮМЕ УРОКА 1.2
+
+  1. Чтобы удалить слово, установите каретку в его начало и наберите  `dw`{normal}
+
+  2. Чтобы удалить текст от позиции каретки до конца слова, наберите  `de`{normal}
+
+  3. Чтобы удалить текст от позиции каретки до конца строки, наберите `d$`{normal}
+
+  4. Чтобы удалить всю строку целиком, наберите                          `dd`{normal}
+
+  5. Чтобы переместить каретку за один раз на некоторое количество объектов,
+     укажите их число, например, `2w`{normal}
+
+  6. Формат команд изменения:
+            оператор   [число]   объект
+     где
+      оператор - необходимые действия, например, [d](d) для удаления;
+      [число]  - количество подпадающих под действие оператора объектов,
+                если не указано, то один объект;
+      объект   - на что воздействует оператор, например, [w](w) (слово),
+                [$]($) (всё, что есть до конца строки) и т. п.
+
+  7. Чтобы переместить каретку к началу строки, нажмите клавишу [0](0) (ноль)
+
+  8. Чтобы отменить предшествующие действие, нажмите `u`{normal}  (строчная u)
+     Чтобы отменить все изменения в строке, нажмите  `U`{normal}  (прописная U)
+     Чтобы вернуть отменённые изменения, нажмите     `<CTRL-r>`{normal}
+
+
+#          Урок 1.3.1. КОМАНДА ВСТАВКИ
+
+** Чтобы вставить последний удалённый текст, наберите команду `p`{normal} **
+
+  1. Переместите каретку к первой строке помеченной ✓
+
+  2. Наберите `dd`{normal}, чтобы удалить строку, при этом она будет
+     автоматически помещена в специальный регистр редактора Vim.
+
+  3. Установите каретку на строку ВЫШЕ той, в которой следует вставить
+     удалённую строку.
+
+  4. Убедитесь, что программа в режиме команд и нажмите клавишу [p](p)
+     для вставки строки ниже позиции каретки.
+
+  5. Повторите шаги со 2 по 4, пока не расставите все строки в нужном порядке.
+
+г) И лучше выдумать не мог.
+б) Когда не в шутку занемог,
+в) Он уважать себя заставил
+а) Мой дядя самых честных правил
+
+
+#          Урок 1.3.2. КОМАНДА ЗАМЕНЫ
+
+** Чтобы заменить символ под кареткой, наберите `r`{normal} и заменяющий символ **
+
+  1. Переместите каретку к первой строке помеченной ✗
+
+  2. Установите каретку так, чтобы она находилась над первым ошибочным символом.
+
+  3. Нажмите клавишу [r](r) и затем наберите символ, исправляющий ошибку.
+
+  4. Повторите шаги 2 и 3, пока первая строка не будет соответствовать второй.
+
+В момегт набтра этой чтроки кое0кто с трудом попвдал по клваишам!
+В момент набора этой строки кое-кто с трудом попадал по клавишам!
+
+  5. Теперь переходите к уроку [1.3.3](*1-3-3*).
+
+**Примечание.**
+    Помните, что вы должны учиться в процессе работы, а не просто зубрить.
+
+
+#          Урок 1.3.3. ОПЕРАТОР ИЗМЕНЕНИЯ  *1-3-3*
+
+** Чтобы изменить окончание слова, наберите команду `ce`{normal} **
+
+  1. Переместите каретку к первой строке помеченной ✗
+
+  2. Установите каретку над буквой «o» в слове «сола».
+
+  3. Наберите команду `ce`{normal}  и исправьте слово
+     (в данном случае, наберите «лов»).
+
+  4. Нажмите клавишу `<ESC>`{normal} и переместите каретку к следующей ошибке
+     (к первому символу, начиная с которого надо изменить окончание слова).
+
+  5. Повторите шаги 3 и 4 пока первая строка не будет соответствовать второй.
+
+Несколько сола в эьгц строке тпгшцбь истравыиться.
+Несколько слов в этой строке требуется исправить.
+
+**Примечание.**
+    Обратите внимание, что по команде `ce`{normal} не только удаляется часть
+    слова, но и происходит переключение редактора в режим вставки.
+    По команде `cc`{normal} будет выполнятся то же самое, но для целой строки.
+
+
+# УРОК 1.3.4. ЕЩЁ НЕСКОЛЬКО СПОСОБОВ РАБОТЫ С ОПЕРАТОРОМ ИЗМЕНЕНИЯ `c`{normal}
+
+** К оператору изменения применимы те же объекты, что и к оператору удаления **
+
+  1. Оператор изменения работает аналогично оператору удаления. Формат команды:
+
+       c   [число]   объект
+
+  2. Объекты - это то же самое, что и ранее: `w`{normal} (слово),
+     `$`{normal} (конец строки) и т. п.
+
+  3. Переместите каретку к первой строке помеченной ✗
+
+  4. Установите каретку на первой ошибке.
+
+  5. Наберите `c$`{normal} и отредактируйте первую строку так, чтобы она
+     совпадала со второй, после чего нажмите клавишу `<ESC>`{normal}.
+
+Окончание этой строки нужно сделать похожим как во второй строке.
+Окончание этой строки нужно исправить через команду c$.
+
+**Примечание.**
+    Клавиша `<BACKSPACE>`{normal} используется для исправления при наборе текста.
+
+
+#          РЕЗЮМЕ УРОКА 1.3
+
+  1. Чтобы вставить текст, который был только что удалён, наберите команду [p](p).
+     Текст будет вставлен ПОСЛЕ позиции каретки (если была удалена строка,
+     то она будет помещена в строке ниже строки с кареткой).
+
+  2. Чтобы заменить символ под кареткой, наберите команду [r](r) и затем
+     заменяющий символ.
+
+  3. [Операторы изменения](c) изменяют указанный объект текста от позиции каретки
+     до конечной точки перемещения.
+     Например, по команде `ce`{normal} можно изменить текст от позиции каретки
+     до конца слова, а по команде `c$`{normal} - до конца строки.
+
+  4. Формат команд изменения:
+
+        c   [число]   объект
+
+     где c - оператор изменения;
+        [число] - количество изменяемых объектов (необязательная часть);
+         объект - объект текста, который будет изменён.
+
+Теперь переходите к следующему уроку.
+
+
+#          УРОК 1.4.1. ИНФОРМАЦИЯ О ФАЙЛЕ И ПОЗИЦИЯ КАРЕТКИ
+
+** Чтобы получить информацию о файле и позиции каретки, нажмите `<CTRL-g>`{normal}
+ Чтобы переместить каретку к заданной строке в файле, нажмите `G`{normal} **
+
+  **ВНИМАНИЕ!** Прочитайте весь урок, прежде чем выполнять любые действия!
+
+  1. Удерживая клавишу `<CTRL>`{normal}, нажмите клавишу `g`{normal}.
+     Внизу экрана появится сообщение с наименованием файла и номером строки,
+     в которой находится каретка. Запомните этот номер строки,
+     он потребуется на шаге 3.
+
+  **Примечание.**
+    Позиция каретки может отображаться в правом нижнем углу окна программы,
+    если установлен параметр ['ruler']('ruler').
+
+  2. Нажмите клавишу [G](G) для перемещения каретки на последнюю строку файла.
+     Теперь наберите [gg](gg) для перемещения каретки на первую строку файла.
+
+  3. Наберите номер строки, которой был получен на шаге 1, и нажмите клавишу
+     `G`{normal}. Каретка будет перемещена в ту строку, где она находилась,
+     когда в первый раз были нажаты клавиши `<CTRL-g>`{normal}.
+
+  4. Если вы запомнили всё вышесказанное, выполните шаги с 1 по 3.
+
+
+#          Урок 1.4.2. КОМАНДЫ ПОИСКА
+
+** Чтобы что-то найти, наберите команду `/`{normal} и введите искомую фразу **
+
+  1. В режиме команд наберите символ `/`{normal}.
+     Обратите внимание, что этот символ будет отображаться внизу экрана. Так же,
+     как и при наборе команды `:`{normal}
+
+  2. Теперь наберите ошшшибка `<ENTER>`{normal}.
+     Это то слово, которое требуется найти.
+
+  3. Чтобы повторить поиск искомого слова, просто нажмите клавишу [n](n).
+     Чтобы искать это слово в обратном направлении, нажмите клавиши [N](N).
+
+  4. Если требуется сразу выполнить поиск в обратном направлении, используйте
+     команду [?](?) вместо команды `/`{normal}.
+
+  5. Чтобы вернуться туда, откуда был начат поиск, нажмите несколько раз
+     клавиши `<CTRL-o>`{normal}.
+     Для перехода вперёд, используйте команду `<CTRL-i>`{normal}.
+
+"ошшшибка" это не способ написания слова "ошибка";  ошшшибка — это ошибка.
+
+**Примечание.**
+    Если будет достигнут конец файла, то поиск будет продолжен от начала файла.
+
+
+#          Урок 1.4.3. ПОИСК ПАРНЫХ СКОБОК
+
+** Чтобы найти парную скобку для (, [ или {, наберите команду `%`{normal} **
+
+  1. Поместите каретку на любой из скобок (, [ или { в строке помеченной ✓
+
+  2. Теперь нажмите на клавиатуре клавишу с символом [%](%).
+
+  3. Каретка будет перемещена на парную скобку для той скобки, на которой
+     установлена каретка.
+
+  4. Наберите `%`{normal} для возврата каретки назад к первой парной скобке.
+
+В этой ( строке есть такие (, такие [ ] и { такие } скобки. ))
+
+**Примечание.**
+    Это очень удобно при отладке программ, когда в коде пропущены скобки!
+
+
+#          Урок 1.4.4. СПОСОБ ЗАМЕНЫ СЛОВ
+
+** Чтобы «что-то» заменить «чем-то», наберите команду `:s/что/чем/g`{vim} **
+
+  1. Переместите каретку к строке помеченной ✗
+
+  2. Наберите
+~~~ cmd
+       :s/уводю/увожу/
+~~~
+     Обратите внимание на то, что по этой команде будет замена только первого
+     найденного вхождение в строке.
+
+  3. Теперь наберите
+~~~ cmd
+       :s/уводю/увожу/g
+~~~
+     Здесь добавленный [флаг](:s_flags) 'g' означает замена во всей строке.
+     Будет выполнена замена всех найденных в строке совпадений.
+
+Я уводю к отверженным селеньям, я уводю сквозь вековечный стон, я уводю к забытым поколеньям.
+
+  4. Чтобы заменить все вхождения искомого слова в каком-то диапазоне строк,
+     наберите
+~~~ cmd
+       :#,#s/что/чем/g
+~~~
+     где #,# - номер начальной и конечной строки диапазона,
+     в котором будет выполнена замена.
+
+     Наберите
+~~~ cmd
+       :%s/что/чем/g
+~~~
+     чтобы заменить все вхождения во всём файле.
+
+     Наберите
+~~~ cmd
+       :%s/что/чем/gc
+~~~
+     чтобы выдавался запрос подтверждения перед каждой заменой.
+
+
+#          РЕЗЮМЕ УРОКА 1.4
+
+  1. По приведённым ниже командам будет выполнено:
+     `<CTRL-g>`{normal} - вывод информации о файле и текущей позиции каретки
+     в этом файле
+     `G`{normal} - переход на последнюю строку файла
+     номер и `G`{normal} - переход на строку с указанным номером
+     `gg`{normal} - переход на первую строку файла
+
+  2. При вводе символа `/`{normal} с последующим набором слова, будет выполнен
+     поиск этого слова ВПЕРЁД по тексту.
+     При вводе символа `?`{normal} с последующим набором слова, будет выполнен
+     поиск этого слова НАЗАД по тексту.
+     После показа первого совпадения, нажмите `n`{normal} для перехода
+     к следующему слову в том же направлении поиска или `N`{normal} для поиска
+     в противоположном направлении.
+     При нажатии клавиш `<CTRL-o>`{normal} будет возврат к предыдущему слову,
+     а при нажатии клавиш `<CTRL-i>`{normal} будет переход к ранее найденному
+     слову.
+
+  3. При нажатии `%`{normal}, когда каретка на одной из скобок ( ), [ ] или { },
+     будет найдена её парная скобка.
+
+  4. Чтобы заменить первое найденное слово в строке, наберите
+~~~ cmd
+       :s/что/чем
+~~~
+     Чтобы заменить все найденные слова в строке, наберите
+~~~ cmd
+       :s/что/чем/g
+~~~
+     Чтобы заменить в указанными диапазоне строк, наберите
+~~~ cmd
+       :#,#s/что/чем/g
+~~~
+     Чтобы заменить все найденные слова в файле, наберите
+~~~ cmd
+       :%s/что/чем/g
+~~~
+     Чтобы запрашивалось подтверждение для каждой замены, добавьте флаг 'c'
+~~~ cmd
+       :%s/что/чем/gc
+~~~
+
+#          Урок 1.5.1. КАК ВЫЗВАТЬ ИЗ РЕДАКТОРА ВНЕШНЮЮ КОМАНДУ
+
+** Чтобы вызвать команду командной оболочки, наберите в редакторе `:!`{vim} **
+
+  1. Наберите уже знакомую команду `:`{normal}, чтобы каретка была установлена
+     в командной строке редактора и можно было ввести необходимую команду.
+
+  2. Теперь наберите символ [!](!cmd) (восклицательный знак). По этой команде
+     будет вызвана указанная следующей внешняя команда командной оболочки.
+
+  3. Например, наберите "ls" сразу после "!" и нажмите `<ENTER>`{normal}.
+     Будет выведен перечень файлов в текущем каталоге. То есть будет выполнено
+     точно то же самое, как если бы ввести команду `ls` в приглашении командной
+     оболочки.
+     Если в системе неподдерживается команда `ls`, наберите команду `:!dir`{vim}
+
+**Примечание.**
+    Таким способом можно выполнить любую внешнюю команду,
+    в том числе и с указанием необходимых аргументов этой команды.
+
+**Важно.**
+    После ввода команды, начинающейся с `:`{vim}, должна быть нажата клавиша
+    `<ENTER>`{normal}.
+    В дальнейшем это может не указываться отдельно, но подразумеваться.
+
+
+#          Урок 1.5.2. КАК ЗАПИСАТЬ ФАЙЛ
+
+** Чтобы сохранить файл со всеми изменениями в тексте, наберите `:w`{vim} ФАЙЛ **
+
+  1. Наберите `:!dir`{vim} или `:!ls`{vim} для получения перечня файлов
+     в текущем каталоге.
+     Как вы помните, после набора команды нажмите клавишу `<ENTER>`{normal}
+
+  2. Придумайте название для файла, которое ещё не существует, например, «TEST».
+
+  3. Теперь наберите
+~~~ cmd
+       :w TEST
+~~~
+     (здесь TEST - это придуманное вами название файла).
+
+  4. По этой команде будет полностью сохранён текущий файл («tutor») под новым
+     название «TEST». Чтобы проверить это, снова наберите команду `:!dir`{vim}
+     или `:!ls`{vim}  и просмотрите содержимое каталога.
+
+**Примечание.**
+    Если завершить работу редактора Vim и затем запустить его снова с файлом
+    TEST (т. е. набрать команду `vim TEST`), этот файл будет точной копией
+    учебника в тот момент, когда он был сохранён.
+
+  5. Теперь удалите этот файл, набрав в редакторе команду
+~~~ cmd
+       :!del TEST
+~~~
+     (для ОС Windows) или
+~~~ cmd
+       :!rm TEST
+~~~
+     (для UNIX-подобных ОС)
+
+
+#          Урок 1.5.3. ВЫБОРОЧНАЯ ЗАПИСЬ СТРОК
+
+** Чтобы сохранить часть файла, нажмите клавишу `v`{normal}, выделите строки
+                        и наберите команду `:w ФАЙЛ`{vim} **
+
+  1. Переместите каретку на эту строку.
+
+  2. Нажмите клавишу [v](v) и переместите каретку ниже к строке с пятым пунктом.
+     Обратите внимание, что текст подсвечен.
+
+  3. Нажмите клавишу с символом `:`{normal} и внизу экрана появится
+
+       `:'<,'>`{vim}
+
+  4. Наберите команду
+
+       `w TEST`{vim}
+
+     (здесь TEST - наименование файла, который ещё не существует).
+     В командной строке должно быть
+
+       `:'<,'>w TEST`{vim}
+
+     и нажмите клавишу <ENTER>
+
+  5. По этой команде выбранные строки будут записаны в файл «TEST». Убедитесь в
+     наличии этого файла, воспользовавшись командой `:!dir`{vim} или `:!ls`{vim}.
+     Не удаляйте этот файл, он потребуется на следующем уроке.
+
+**Примечание.**
+    По нажатию клавиши [v](v) выполняется переключение в визуальный режим.
+    Чтобы изменить размер выбранной области, нужно переместить каретку.
+    К выделенному фрагменту можно применить любой оператор, например, `d`{normal}
+    для его удаления.
+
+
+#          Урок 1.5.4. СЧИТЫВАНИЕ И ОБЪЕДИНЕНИЕ ФАЙЛОВ
+
+** Чтобы вставить содержащийся в файле текст, наберите `:r ФАЙЛ`{vim} **
+
+  1. Установите каретку над этой строкой.
+
+**Внимание!**
+    После выполнения описанного в пункте 2 вы увидите текст из урока 1.5.3.
+    Переместите каретку вниз по тексту до текущего урока.
+
+  2. Теперь считайте содержимое файла TEST, используя команду
+
+       `:r TEST`{vim}
+
+     здесь TEST - это наименование файла.
+     Файл будет считан, и его содержимое помещено ниже строки с кареткой.
+
+  3. Для проверки, что содержимое файла было вставлено, переместите каретку
+     вверх по тексту и удостоверьтесь, что теперь здесь два урока 1.5.3. -
+     исходный и из файла TEST.
+
+**Примечание.**
+    Вставить можно и результат внешней команды. Например, по команде
+
+       `:r !ls`{vim}
+
+    будет получен вывод команды `ls` и вставлен ниже позиции каретки.
+
+
+#          РЕЗЮМЕ УРОКА 1.5
+
+  1. По команде [:!command](:!cmd) будет исполнена указанная внешняя команда.
+
+      Некоторые полезные примеры:
+   (Windows)           (UNIX)
+    `:!dir`{vim}        `:!ls`{vim}      - вывести перечень файлов в каталоге;
+    `:!del ФАЙЛ`{vim}       `:!rm ФАЙЛ`{vim} - удалить файл с указанным названием.
+
+  2. По команде [:w](:w) ФАЙЛ — текущий редактируемый файл будет записан
+     с указанным наименованием.
+
+  3. Используя команды [v](v), перемещение каретки и `:w ФАЙЛ`{vim} — можно
+     сохранить визуально выделенные строки в файл с указанным наименованием.
+
+  4. По команде [:r](:r) ФАЙЛ — будет прочитан файл с указанным наименованием
+     и его содержимое помещено ниже позиции каретки.
+
+  5. По команде [:r !dir](:r!) — будет получен вывод команды `dir` и помещён
+     ниже позиции каретки.
+
+
+#          УРОК 1.6.1. КОМАНДЫ ДЛЯ СОЗДАНИЯ СТРОК
+
+** Чтобы открыть новую строку с переходом в режим вставки, наберите `o`{normal} **
+
+  1. Переместите каретку вниз, к первой строке помеченной ✓
+
+  2. Нажмите клавишу `o`{normal} для того, чтобы создать [пустую строку](o) НИЖЕ
+     позиции каретки и переключить редактор в режим вставки.
+
+  3. Теперь наберите какой-нибудь текст и нажмите клавишу `<ESC>`{normal} для
+     выхода из режима вставки.
+
+При нажатии `o`{normal}, ниже будет открыта новая пустая строка в режиме вставки.
+
+  4. Для создания строки ВЫШЕ позиции каретки, наберите прописную букву [O](O),
+     вместо строчной буквы `o`{normal}. Попробуйте это сделать для строки ниже.
+
+Создайте новую строку над этой, поместив сюда каретку и нажав клавишу `O`{normal}.
+
+
+#          УРОК 1.6.2. КОМАНДА ДЛЯ ДОБАВЛЕНИЯ ТЕКСТА
+
+** Чтобы вставить текст после позиции каретки, наберите `a`{normal} **
+
+  1. Переместите каретку вниз, в начало первой строки помеченной ✗
+
+  2. Нажмите клавишу `e`{normal}, пока каретка не окажется на последнем символе
+     слова «стро».
+
+  3. Нажмите клавишу `a`{normal} для [добавления](a) текста ПОСЛЕ символа,
+     находящегося под кареткой.
+
+  4. Допишите слово как в строке ниже. Нажмите клавишу `<ESC>`{normal} для выхода
+     из режима вставки.
+
+  5. Используйте клавишу `e`{normal} для перехода к следующему незавершённому
+     слову и повторите действия, описанные в пунктах 3 и 4.
+
+На этой стро вы можете попрактиков в добавле текста.
+На этой строке вы можете попрактиковаться в добавлении текста.
+
+**Примечание.**
+    По команде [a](a), [i](i) и [A](A) будет выполнено переключение в один
+    и тотже режим вставки, различие только в том, где вставляются символы.
+
+
+#          Урок 1.6.3. ЕЩЁ ОДИН СПОСОБ ЗАМЕНЫ
+
+** Чтобы заменить несколько символов в строке, наберите `R`{normal} **
+
+  1. Переместите каретку в начало первого слова «xxx» в строке помеченной ✗
+
+  2. Теперь нажмите [R](R) и введите число, указанное ниже во второй строке,
+     чтобы заменить символы «xxx».
+
+  3. Нажмите клавишу `<ESC>`{normal} для выхода из режима замены. Заметьте,
+     что остаток строки не был изменён.
+
+  4. Повторите эти шаги для замены оставшихся слов «xxx».
+
+При сложении числа 123 с числом xxx сумма будет xxx.
+При сложении числа 123 с числом 456 сумма будет 579.
+
+**Примечание.**
+    Режим замены похож на режим вставки, но каждый введённый символ удаляет
+    существующий символ в строке.
+
+
+#          Урок 1.6.4. КОПИРОВАНИЕ И ВСТАВКА ТЕКСТА
+
+** Чтобы копировать текст, используйте оператор `y`{normal},
+       чтобы вставить — команду `p`{normal} **
+
+  1. Установите каретку после символов «а)» в строке помеченной ✓
+
+  2. Переключите редактор в визуальный режим командой `v`{normal} и переместите
+     каретку вперёд до слова «первый».
+
+  3. Нажмите клавишу `y`{normal} для [копирования](yank) подсвеченного текста.
+
+  4. Переместите каретку в конец следующей строки, набрав команду `j$`{normal}.
+
+  5. Нажмите клавишу `p`{normal} для [вставки](put) текста.
+
+  6. Затем наберите команду `a`{normal}, напечатайте слово "второй"
+     и нажмите клавишу `<ESC>`{normal}.
+
+  7. Повторите шаги с 1 по 4, только установите каретку после слова «первый»,
+     выделите, скопируйте и вставьте слово « пункт.»
+
+а) Это первый пункт.
+б)
+
+**Примечание.**
+    Для копирования одного слова можно использовать команду `yw`{normal}
+    (оператор `y`{normal} и объект `w`{normal}).
+    По команде `yy`{normal} будет скопирована целая строка, а по команде
+    `p`{normal} вставлена.
+
+
+#          Урок 1.6.5. УСТАНОВКА ПАРАМЕТРОВ
+
+** Чтобы при поиске или замене не учитывался регистр символов,
+                     задайте соответствующие настройки **
+
+  1. Найдите слово «игнорировать», набрав команду `/игнорировать`{normal}.
+     Повторите поиск несколько раз, нажимая клавишу `n`{normal} .
+
+  2. Установите параметр 'ic' (игнорировать регистр), набрав команду
+~~~ cmd
+       :set ic
+~~~
+  3. Ещё раз повторите поиск слова «игнорировать», нажимая клавишу `n`{normal}
+     Заметьте, что теперь будут найдены слова «Игнорировать» и «ИГНОРИРОВАТЬ».
+
+  4. Установите параметры 'hlsearch' и 'incsearch' командой
+~~~ cmd
+       :set hls is
+~~~
+  5. Повторно введите команду поиска `/игнорировать` и посмотрите, что получится
+
+  6. Для возврата учёта регистра символов при поиске, введите команду
+~~~ cmd
+       :set noic
+~~~
+**Примечание.**
+    Для отключения подсветки совпадений, наберите команду
+~~~ cmd
+       :nohlsearch
+~~~
+**Примечание.**
+    Если требуется не учитывать регистр символов только единоразово, используйте
+    ключ [\c](/\c) в команде поиска, например, `/игнорировать\c``<ENTER>`{normal}
+
+
+#          РЕЗЮМЕ УРОКА 1.6
+
+  1. По команде `o`{normal} будет создана пустая строка ниже строки с кареткой
+     и редактор будет переключен в режим вставки
+     По команде `O`{normal} будет создана пустая строка выше строки с кареткой
+     и редактор будет переключен в режим вставки
+
+  2. По команде `a`{normal} выполняется вставки текста ПОСЛЕ позиции каретки.
+     По команде `A`{normal} выполняется вставки текста в конце строки.
+
+  3. По команде `e`{normal} выполняется установка каретки в конце слова.
+
+  4. Оператор `y`{normal} используется для копирования текста,
+     а по команде `p`{normal} происходит вставка скопированного текста.
+
+  5. При нажатии клавиш `R`{normal} выполняется переключение в режим замены,
+     а отключение - нажатием клавиши `<ESC>`{normal}.
+
+  6. Наберите [:set](:set) xxx для установки параметра 'xxx'.
+
+ Вот некоторые параметры (можно указывать полные или сокращённые наименования):
+       'ic'    'ignorecase'    игнорирование регистра символов при поиске
+       'is'    'incsearch'     отображение частичных совпадений при поиске
+       'hls'   'hlsearch'      подсветка всех совпадений при поиске
+
+  7. Для сброса параметра, добавьте приставку "no" к его названию
+~~~ cmd
+       :set noic
+~~~
+  8. Для переключения состояния параметра, добавьте приставку "inv" к названию
+~~~ cmd
+       :set invic
+~~~
+
+#          УРОК 1.7.1. ВСТРОЕННАЯ СПРАВОЧНАЯ СИСТЕМА
+
+** Используйте встроенную справочную систему **
+
+  В редакторе Vim имеется мощная встроенная справочная система, и чтобы начать
+  ей пользоваться, попробуйте один из трёх вариантов:
+    - нажмите клавишу `<HELP>`{normal} (если она есть на клавиатуре)
+    - нажмите клавишу `<F1>`{normal} (если она есть на клавиатуре)
+    - наберите
+       `:help`{vim}
+
+  Ознакомьтесь с информацией в окне справочной системы, чтобы получить
+  представление о том как работать с документацией.
+
+  Нажмите `<CTRL-w><CTRL-w>`{normal} для перемещения каретки из одного окна
+  в другое окно.
+  Наберите `:q`{normal}, чтобы закрыть окно справочной системы (когда каретка
+  находится в этом окне).
+
+  Можно найти описание для любого понятия или команды, задав соответствующий
+  аргумент команде `:help`{vim}.
+  Попробуйте следующее (не забудьте нажать `<ENTER>`{normal}):
+~~~ cmd
+       :help w
+       :help c_CTRL-D
+       :help insert-index
+       :help user-manual
+~~~
+
+#          Урок 1.7.2. СОЗДАНИЕ СТАРТОВОГО КОМАНДНОГО ФАЙЛА
+
+** Включим все возможности редактора Vim **
+
+  Редактор Vim более функционален по сравнению с редактором Vi, но большинство
+  из этих возможностей отключены при запуске программы. Чтобы активировать
+  весь потенциала редактора, необходимо создать файл «vimrc».
+
+  1. Создайте новый файл "vimrc". Его местонахождение зависит от используемой
+     системы:
+~~~ cmd
+       :e ~/.vimrc
+~~~
+     для UNIX-подобных систем
+~~~ cmd
+       :e $VIM\_vimrc
+~~~
+     для MS Windows
+
+  2. Теперь добавьте в этот файл содержимое шаблонного файла «vimrc»
+~~~ cmd
+       :r $VIMRUNTIME/vimrc_example.vim
+~~~
+  3. Запишите созданный вами файл «vimrc»
+       `:w`{vim}
+
+  Теперь при следующем запуске редактора Vim будет включена подсветка синтаксиса.
+
+  Все необходимые вам настройки могут быть добавлены в файл «vimrc».
+  Чтобы получить подробную информацию, наберите `:help vimrc-intro`{vim}
+
+
+#          Урок 1.7.3. ПОДСТАНОВКА КОМАНД
+
+** Подстановка в командной строке выполняется при помощи следующих клавиш
+                       `<CTRL-D>`{normal} и `<TAB>`{normal}**
+
+  1. Отключите совместимость с редактором Vi
+~~~ cmd
+       :set nocp
+~~~
+  2. Посмотрите, какие файлы есть в каталоге, набрав команду
+       `:!ls`{vim}  или  `:!dir`{vim}
+
+  3. Наберите начало команды для открытия файла на редактирование `:e`{vim}
+
+  4. Нажмите клавиши `<CTRL-D>`{normal}, и будет показан перечень команд
+     редактора Vim начинающихся с буквы «e».
+
+  5. Нажмите клавиши `d<TAB>`{normal}, и будет подставлено полное название
+     команды `:edit`{vim}.
+
+  6. Теперь напечатайте пробел и начало наименования существующего файла
+       `:edit TE`{vim}
+
+  7. Нажмите клавишу `<TAB>`{normal} и будет подставлено наименование файла,
+     если оно уникальное.
+
+**Примечание.**
+    Подстановка работает для множества команд. Просто попробуйте нажать клавиши
+    `<CTRL-D>`{normal} и `<TAB>`{normal} для любой из команд редактора.
+    Это особенно полезно для команды `:help`{vim}.
+
+
+#          РЕЗЮМЕ УРОКА 1.7
+
+  1. Чтобы открыть встроенную справочную систему редактора, наберите команду
+     `:help`{vim} или нажмите клавишу `<F1>`{normal}, или `<HELP>`{normal}.
+
+  2. Чтобы найти справочную информацию о какой-либо команде,
+     наберите `:help cmd`{vim} (вместо «cmd» укажите наименование команды).
+
+  3. Чтобы переместить каретку в другое окно, нажмите клавиши
+     `<CTRL-w><CTRL-w>`{normal}.
+
+  4. Чтобы закрыть окна справочной системы (если оно активно), наберите `:q`{vim}.
+
+  5. Чтобы при запуске всегда применялись необходимые вам настройки, создайте
+     стартовый командный файл vimrc.
+
+  6. При наборе команды, начинающейся с символа `:`{normal}, нажмите клавиши
+     `<CTRL-D>`{normal}, чтобы просмотреть возможные варианты подстановки.
+     Нажмите клавишу `<TAB>`{normal} для подстановки необходимого варианта.
+
+
+#          ЗАКЛЮЧЕНИЕ
+
+  На этом можно завершить первую часть занятий, посвящённые редактору Vim.
+  Далее вы можете пройти [вторую часть](@tutor:vim-02-beginner) занятий.
+
+  Целью данного курса было дать краткий обзор редактора Vim, достаточный для
+  того, чтобы не возникало сложностей при его использовании. Это далеко не
+  полный обзор, поскольку в редакторе Vim есть ещё много-много команд.
+
+  Чтобы расширить свои познания, ознакомьтесь с руководством пользователя,
+  набрав команду `:help user-manual`{vim}.
+
+  Для дальнейшего чтения рекомендуется книга
+       «*Vim - Vi Improved*», автор Steve Oualline, издательство New Riders.
+  Она полностью посвящена редактору Vim и будет особенно полезна новичкам.
+  В книге имеется множество примеров и иллюстраций.
+  См. https://iccf-holland.org/click5.html
+
+  Также рекомендуется книга «*Practical Vim*», автор Drew Neil,
+                               издательство Pragmatic Bookshelf.
+  См. https://pragprog.com/titles/dnvim2/practical-vim-second-edition/
+
+  Ещё одна книга более почтенного возраста и посвящена больше редактору Vi,
+  чем редактору Vim, однако также рекомендуется к прочтению
+       «*Learning the Vi Editor*», автор Linda Lamb,
+                               издательство O'Reilly & Associates Inc.
+  Это хорошая книга, чтобы узнать всё, что только можно сделать в редакторе Vi.
+  Шестое издание этой книги включает информацию о редакторе Vim.
+
+  К томуже в Интернет есть множество ресурсов, где можно узнать многое
+  о редакторе Vim. Вот некоторые из них:
+
+  - *Learn Vim Progressively*:
+    http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/
+  - *Learning Vim in 2014*:
+    http://benmccormick.org/learning-vim-in-2014/
+  - *Vimcasts*:
+    http://vimcasts.org/
+  - *Vim Video-Tutorials by Derek Wyatt*:
+    http://derekwyatt.org/vim/tutorials/
+  - *Learn Vimscript the Hard Way*:
+    http://learnvimscriptthehardway.stevelosh.com/
+  - *7 Habits of Effective Text Editing*:
+    http://www.moolenaar.net/habits.html
+  - *vim-galore*:
+    https://github.com/mhinz/vim-galore
+
+  Эти уроки были составлены Michael C. Pierce и Robert K. Ware из Colorado
+  School of Mines с учётом идей, предложенных Charles Smith из Colorado State
+  University. E-mail: bware@mines.colorado.edu (теперь недоступен).
+
+  Уроки доработаны Bram Moolenaar для использования в редакторе Vim.
+  Уроки доработаны Felipe Morales для обучающего режима редактора Vim.
+
+    Андрей Киселёв, перевод на русский язык, 2002, a_kissel@eudoramail.com
+    Сергей Алёшин, перевод на русский язык, 2014, alyoshin.s@gmail.com
+    Restorer, редактура, 2022, restorer@mail2k.ru
diff --git a/runtime/tutor/ru/vim-01-beginner.tutor.json b/runtime/tutor/ru/vim-01-beginner.tutor.json
new file mode 100644 (file)
index 0000000..50d32b2
--- /dev/null
@@ -0,0 +1,45 @@
+{
+  "expect": {
+    "33": -1,
+    "121": "От топота копыт пыль по полю летит.",
+    "146": "Часть текста в этой строке бесследно пропало.",
+    "147": "Часть текста в этой строке бесследно пропало.",
+    "167": "Часть текста в этой строке бесследно пропало.",
+    "168": "Часть текста в этой строке бесследно пропало.",
+    "169": "Здесь также недостаёт части текста.",
+    "170": "Здесь также недостаёт части текста.",
+    "253": "Несколько слов в этом предложении излишни.",
+    "271": "Кто-то набрал окончание этой строки дважды.",
+    "318": -1,
+    "340": "Эта строка очищена от лишних слов.",
+    "356": -1,
+    "357": -1,
+    "358": -1,
+    "359": -1,
+    "360": -1,
+    "361": -1,
+    "362": -1,
+    "392": "Исправьте ошибки в этой строке и верните их с помощью команды «отмена».",
+    "445": -1,
+    "446": -1,
+    "447": -1,
+    "448": -1,
+    "463": "В момент набора этой строки кое-кто с трудом попадал по клавишам!",
+    "464": "В момент набора этой строки кое-кто с трудом попадал по клавишам!",
+    "488": "Несколько слов в этой строке требуется исправить.",
+    "489": "Несколько слов в этой строке требуется исправить.",
+    "515": "Окончание этой строки нужно исправить через команду c$.",
+    "516": "Окончание этой строки нужно исправить через команду c$.",
+    "594": -1,
+    "613": -1,
+    "639": "Я увожу к отверженным селеньям, я увожу сквозь вековечный стон, я увожу к забытым поколеньям.",
+    "867": -1,
+    "872": -1,
+    "893": "На этой строке вы можете попрактиковаться в добавлении текста.",
+    "894": "На этой строке вы можете попрактиковаться в добавлении текста.",
+    "915": "При сложении числа 123 с числом 456 сумма будет 579.",
+    "916": "При сложении числа 123 с числом 456 сумма будет 579.",
+    "945": "а) Это первый пункт.",
+    "946": "б) Это второй пункт."
+  }
+}
diff --git a/runtime/tutor/ru/vim-02-beginner.tutor b/runtime/tutor/ru/vim-02-beginner.tutor
new file mode 100644 (file)
index 0000000..d2b6918
--- /dev/null
@@ -0,0 +1,231 @@
+#              ДОБРО  ПОЖАЛОВАТЬ  НА  ЗАНЯТИЯ  ПО  РЕДАКТОРУ  Vim
+
+##                             ГЛАВА  ВТОРАЯ
+
+  Что‐то неожиданное и непонятное?
+  Если это ваше первое знакомство с редактором Vim и вы планировали начать
+  с вводной главы учебника, не расстраивайтесь и сделайте вот что.
+  Наберите в командной строке редкатора Vim следующую команду
+~~~ cmd
+       :Tutor vim-01-beginner
+~~~
+  Или просто откройте по ссылке [первую главу](@tutor:vim-01-beginner) учебника.
+
+  Приблизительное время, необходимое для изучения второй главы учебника
+  составляет около 8–10 минут, и зависит от того, сколько времени вы посвятите
+  выполнению заданий.
+
+
+#          Урок 2.1.1. ИМЕНОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim
+
+** Копирование с сохранением двух разных слов и последующая их вставка в текст **
+
+  1. Переместите каретку к строке помеченной ✓
+
+  2. Установите каретку на любом символе слова «Эдуард» и наберите команду
+     `"ayiw`{normal}
+
+Эта команда означает следующее:
+    *в регистр(") с названием(a) скопировать(y) только(i) слово(w)*
+
+  3. Сдвиньте каретку вперёд на слово «печенье»
+     (это можно сделать одним из следующих способов:
+     `fп`{normal} или `3fч`{normal}, или `$`{normal}, или `/пе<ENTER>`{normal})
+     и наберите команду
+     `"byiw`{normal}
+
+  4. Переместите каретку на любой символ слова «Виктор» и наберите на клавиатуре
+     `ciw<CTRL-r>a<ESC>`{normal}
+
+Эта команда означает следующее:
+    *изменить(c) только(i) слово(w) на <содержимое регистра(r)> с названием(a)*
+
+  5. Установите каретку на любой символ слова «тортов» и наберите
+     `ciw<CTRL-r>b<ESC>`{normal}
+
+а) Отныне Эдуард будет отвечать за раздачу печенья
+б) Таким образом Виктор имеет единоличные права по распределению тортов
+
+**Примечание.**
+    Регистры можно использовать также и для вырезания текста, например,
+    по команде `"sdiw`{normal} будет выполнено удаление слова под кареткой
+    в регистр с названием «s».
+
+Разделы документации:
+       [регистры](registers)
+       [именованные регистры](quote_alpha)
+       [перемещение](text-objects)
+       [CTRL-R](i_CTRL-R)
+
+
+#          Урок 2.1.2. РЕГИСТР РЕЗУЛЬТАТА ВЫЧИСЛЕНИЙ
+
+** Вставка результатов вычислений напрямую в текст **
+
+  1. Переместите каретку к строке помеченной ✗
+
+  2. Установите каретку на любой цифре приведённого числа
+
+  3. Наберите на клавиатуре `ciw<CTRL-r>=60*60*24`{normal} `<ENTER>`{normal}
+
+  4. Переместите каретку в конец следующей строки, переключите редактор в режим
+     вставки, и добавьте сегодняшнюю дату с помощью следующей команды
+    `<CTRL-r>=`{normal}`system('date')`{vim} `<ENTER>`{normal}
+
+Примечание.
+    Результат вызова функции `system()`{vim} зависит от текущей операционной
+    системы, например, в ОС Windows необходимо использовать такую команду
+    `system('date /t')`{vim}    или    `:r!date /t`{vim}
+
+Правильно ли я помню, что в сутках 84600 секунд?
+Сегодняшняя дата 
+
+Примечание.
+    Тот же результат можно получить с помощью такой команды
+   `:pu=`{normal}`system('date')`{vim} или более короткой команды `:r!date`{vim}
+
+Разделы документации:
+       [регистр результата вычислений](quote=)
+
+
+#          Урок 2.1.3. НУМЕРОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim
+
+** Как команды `yy`{normal} и `dd`{normal} влияют на содержимое регистров **
+
+  1. Переместите каретку к строке помеченной ✓
+
+  2. Скопируйте эту строку и проверьте состояние регистров с помощью команды
+     `:reg`{vim} `<ENTER>`{normal}
+
+  3. Удалите строку, начинающуюся с цифры 0, с помощью команды `"cdd`{normal}
+     и ещё раз проверьте состояние регистров (где будет строка, начинающаяся
+     с цифры 0?)
+
+  4. Продолжайте удалять все последующие нумерованные строки, проверяя состояние
+     регистров после каждой операции.
+
+**Примечание.**
+    В ходе этих действий вы заметите, что ранее удалённые строки смещаются вниз
+    по мере того, как новые удалённые строки добавляются в перечень регистров.
+
+  5. Теперь вставьте содержимое регистров в следующем порядке: c, 7, 4, 8, 2.
+     То есть наберите команды `"cp`{normal}, `"7p`{normal} и так далее.
+
+0. Здесь
+9. шататься
+8. секретное
+7. будет
+6. на
+5. шесте
+4. это
+3. войны
+2. послание
+1. наградой
+
+
+**Примечание.**
+    Целые строки, удалённые по команде `dd`{normal}, дольше сохраняются
+    в нумерованных регистрах, чем строки, которые были скопированы или когда
+    с оператором удаления указывается объект текста для перемещения каретки.
+
+Разделы документации:
+       [нумерованные регистры](quote_number)
+
+
+#          Урок 2.1.4. ИЗЯЩЕСТВО ЗАКЛАДОК
+
+** Избегайте действий, свойственных для дятлокодеров **
+
+**Примечание.**
+    При написании программ часто возникает необходимость перемещения больших
+    фрагментов кода. Приём, приведённый далее, поможет избежать подсчёта номеров
+    строк, требуемых для операций вроде `"a147d`{normal} или `:945,1091d a`{vim},
+    или даже хуже — `i<CTRL-r>=1091-935<ENTER>`{normal}, как первое действие.
+
+  1. Переместите каретку к строке помеченной ✓
+
+  2. Установите каретку на следующую строку, где начинается описание функции,
+     и поставьте закладку, воспользовавшись командой `ma`{normal}
+
+**Примечание.**
+    Неважно где будет находиться каретка в этой строке.
+
+  3. С помощью следующей команды `$%`{normal} установите каретку на последний
+     символ в этой строке с последующим перемещением на окончание блока кода
+
+  4. Удалите весь это блок кода в регистр с названием «a» с помощью команды
+     `"ad'a`{normal}
+
+Эта команда означает следующее:
+    *в регистр(") с названием (a) поместить удалённые строки от позиции каретки
+    до строки, в которой установлена закладка(') с названием (a)*
+
+  5. Вставьте удалённый блок между символами BBB и CCC с помощь команды
+     `"ap`{normal}
+
+~~~ cmd
+AAA
+function itGotRealBigRealFast() {
+  if ( somethingIsTrue ) {
+    doIt()
+  }
+  // таксономия нашей функции изменилась, и её текущее положение больше
+  // не имеет привязки к алфавитному порядку
+
+  // а теперь представьте, что здесь сотни строк кода
+
+  // было бы глупо искать начальную и конечную строку этого блока кода,
+  // чтобы записывать или запоминать номер строки для каждой из них
+}
+BBB
+CCC
+~~~
+
+**Примечание.**
+    Пространство именования закладок и регистров не пересекаются между собой,
+    поэтому регистр «a» полностью независим от закладки с таким же названием «a».
+    Это правило не распространяется на регистры и макросы.
+
+Разделы документации:
+       [закладки](marks)
+       [перемещение к закладкам](mark-motions)  (различие между \` и ')
+
+
+#          РЕЗЮМЕ УРОКА 2.1
+
+  1. Чтобы сохранить (при удалении или копировании) текст для последующей
+     вставки, используйте имеющиеся 26 именованных регистра (a-z).
+  2. Чтобы скопировать целое слово при нахождении каретки на любом символе
+     в этом слове, воспользуйтесь командой `yiw`{normal}
+  3. Чтобы изменить целое слово при нахождении каретки на любом символе в этом
+     слове, воспользуйтесь командой `ciw`{normal}
+  4. Чтобы в режиме вставки вставить текст непосредственно из регистра,
+     воспользуйтесь командой `<CTRL-r>a`{normal}
+
+  5. Чтобы в режиме вставки вставить результат вычисления простых математических
+     операций, воспользуйтесь командой `<CTRL-r>=60*60`{normal} `<ENTER>`{normal}
+  6. Чтобы в режиме вставки вставить результат выполнения команд системы,
+     воспользуйтесь командой `<CTRL-r>=`{normal}`system('ls -l')`{vim}
+
+  7. Чтобы просмотреть содержимое регистров, воспользуйтесь командой `:reg`{vim}
+  8. Учитывайте распределение удалённых целиком строк по команде `dd`{normal} —
+     это нумерованные регистры в порядке убывания, т. е. от 1 до 9.
+     Помните, что в нумерованных регистрах дольше хранятся те строки, которые
+     были уделены целиком, в отличие от любых других операций
+  9. Учитывайте, что в нумерованных регистрах кратковременно сохраняется всё
+     что скопировано.
+
+ 10. Чтобы установить закладку в режиме команд, воспользуйтесь командой
+     `m[a-zA-Z0-9]`{normal}
+ 11. Чтобы переместить каретку на строку в которой установлена закладка,
+     воспользуйтесь командой `'`{normal}
+
+
+#          ЗАКЛЮЧЕНИЕ
+
+  На этом пока заканчивается вторая глава учебника по редактору Vim.
+  Работа над этой главой будет продолжена.
+
+  Вторая глава учебника была написана Полом Д. Паркером (Paul D. Parker).
+
+    Restorer, перевод на русский язык, 2025, restorer@mail2k.ru
diff --git a/runtime/tutor/ru/vim-02-beginner.tutor.json b/runtime/tutor/ru/vim-02-beginner.tutor.json
new file mode 100644 (file)
index 0000000..2338901
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "expect": {
+    "46": -1,
+    "47": "б) Таким образом Эдуард имеет единоличные права по распределению печенья",
+    "80": "Правильно ли я помню, что в сутках 86400 секунд?",
+    "81": -1,
+    "114": -1,
+    "167": -1
+  }
+}
index fffbf722b67a72f23f6b453639b9f71d249b9f1f..d6c76b102e65b3bf00e7d150647928e500fadf28 100644 (file)
@@ -2354,6 +2354,7 @@ installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(VIMTARGET) $(DEST_RT) \
                $(DEST_IMPORT) $(DEST_IMPORT)/dist \
                $(DEST_PLUG) \
                $(DEST_TUTOR) $(DEST_TUTOR)/en $(DEST_TUTOR)/it $(DEST_TUTOR)/sr \
+               $(DEST_TUTOR)/ru \
                $(DEST_SPELL) $(DEST_COMP)
        -$(SHELL) ./installman.sh install $(DEST_MAN) "" $(INSTALLMANARGS)
 # Generate the help tags with ":helptags" to handle all languages.
@@ -2484,15 +2485,17 @@ installgtutorbin: $(DEST_BIN)
        $(INSTALL_DATA) gvimtutor $(DEST_BIN)/$(GVIMNAME)tutor
        chmod $(SCRIPTMOD) $(DEST_BIN)/$(GVIMNAME)tutor
 
-installtutor: $(DEST_RT) $(DEST_TUTOR)/en $(DEST_TUTOR)/it $(DEST_TUTOR)/sr
+installtutor: $(DEST_RT) $(DEST_TUTOR)/en $(DEST_TUTOR)/it $(DEST_TUTOR)/sr $(DEST_TUTOR)/ru
        -$(INSTALL_DATA) $(TUTORSOURCE)/README* $(TUTORSOURCE)/tutor* $(DEST_TUTOR)
        -$(INSTALL_DATA) $(TUTORSOURCE)/en/* $(DEST_TUTOR)/en/
        -$(INSTALL_DATA) $(TUTORSOURCE)/it/* $(DEST_TUTOR)/it/
+       -$(INSTALL_DATA) $(TUTORSOURCE)/ru/* $(DEST_TUTOR)/ru/
        -$(INSTALL_DATA) $(TUTORSOURCE)/sr/* $(DEST_TUTOR)/sr/
        -rm -f $(DEST_TUTOR)/*.info
        chmod $(HELPMOD) $(DEST_TUTOR)/*
        chmod $(DIRMOD) $(DEST_TUTOR)/en
        chmod $(DIRMOD) $(DEST_TUTOR)/it
+       chmod $(DIRMOD) $(DEST_TUTOR)/ru
        chmod $(DIRMOD) $(DEST_TUTOR)/sr
 
 # Install the spell files, if they exist.  This assumes at least the English
@@ -2715,7 +2718,7 @@ $(DESTDIR)$(exec_prefix) $(DEST_BIN) \
                $(DEST_LANG) $(DEST_KMAP) $(DEST_COMP) $(DEST_MACRO) \
                $(DEST_PACK) $(DEST_TOOLS) \
                $(DEST_TUTOR) $(DEST_TUTOR)/en $(DEST_TUTOR)/it \
-               $(DEST_TUTOR)/sr \
+               $(DEST_TUTOR)/sr $(DEST_TUTOR)/ru \
                $(DEST_SPELL) \
                $(DEST_AUTO) $(DEST_AUTO)/dist $(DEST_AUTO)/xml \
                $(DEST_AUTO)/cargo $(DEST_AUTO)/rust \
@@ -2901,6 +2904,7 @@ uninstall_runtime:
        -rm -rf $(DEST_PACK)
        -rm -rf $(DEST_TUTOR)/en
        -rm -rf $(DEST_TUTOR)/it
+       -rm -rf $(DEST_TUTOR)/ru
        -rm -rf $(DEST_TUTOR)/sr
        -rm -rf $(DEST_TUTOR)
        -rm -rf $(DEST_SPELL)
index 7e317b32892648683ec7c8264e151c80961f46b0..d293eba6aabce094da2814f1a695f18e28945e5b 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1210,
 /**/
     1209,
 /**/