translation(ru): include Russian translation for chapter two of the tutorial
closes: #16900
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/tutor/tutor2.ru.utf-8 b/runtime/tutor/tutor2.ru.utf-8
new file mode 100644
index 0000000..b328204
--- /dev/null
+++ b/runtime/tutor/tutor2.ru.utf-8
@@ -0,0 +1,230 @@
+===============================================================================
+версия 1.7 = ДОБРО ПОЖАЛОВАТЬ НА ЗАНЯТИЯ ПО РЕДАКТОРУ Vim =
+===============================================================================
+= ГЛАВА ВТОРАЯ =
+===============================================================================
+
+ Что‐то неожиданное и непонятное?
+ Если это ваше первое знакомство с редактором Vim и вы планировали начать
+ с вводной главы учебника, не расстраивайтесь и сделайте вот что.
+ Наберите на клавиатуре команду :q! , нажмите клавишу <ENTER>, и попробуйте
+ ещё раз, набрав в командной оболочке такую команду
+ vimtutor --chapter 1 ru
+
+ Приблизительное время, необходимое для изучения второй главы учебника
+ составляет около 8–10 минут, и зависит от того, сколько времени вы посвятите
+ выполнению заданий.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Урок 2.1.1. ИМЕНОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim
+
+** Копирование с сохранением двух разных слов и последующая их вставка в текст **
+
+ 1. Переместите каретку к строке помеченной --->
+
+ 2. Установите каретку на любом символе слова «Эдуард» и наберите команду
+ "ayiw
+
+Эта команда означает следующее:
+ в регистр(") с названием(a) скопировать(y) только(i) слово(w)
+
+ 3. Сдвиньте каретку вперёд на слово «печенье» (это можно сделать одним из
+ следующих способов: fп или 3fч, или $, или /пе <ENTER>) и наберите команду
+ "byiw
+
+ 4. Переместите каретку на любой символ слова «Виктор» и наберите на клавиатуре
+ ciw<C-r>a<ESC>
+
+Эта команда означает следующее:
+ изменить(c) только(i) слово(w) на <содержимое регистра(r)> с названием(a)
+
+ 5. Установите каретку на любой символ слова «тортов» и наберите
+ ciw<C-r>b<ESC>
+
+---> а) Отныне Эдуард будет отвечать за раздачу печенья
+ б) Таким образом Виктор имеет единоличные права по распределению тортов
+
+Примечание.
+ Регистры можно использовать также и для вырезания текста, например,
+ по команде "sdiw будет выполнено удаление слова под кареткой в регистр
+ с названием «s».
+
+Разделы документации:
+ регистры :h registers
+ именованные регистры :h quote_alpha
+ перемещение :h text-objects
+ CTRL-R :h i_CTRL-R
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Урок 2.1.2. РЕГИСТР РЕЗУЛЬТАТА ВЫЧИСЛЕНИЙ
+
+ ** Вставка результатов вычислений напрямую в текст **
+
+ 1. Переместите каретку к строке помеченной --->
+
+ 2. Установите каретку на любой цифре приведённого числа
+
+ 3. Наберите на клавиатуре ciw<C-r>=60*60*24<ENTER>
+
+ 4. Переместите каретку в конец следующей строки, переключите редактор в режим
+ вставки, и добавьте сегодняшнюю дату с помощью следующей команды
+ <C-r>=system('date')<ENTER>
+
+Примечание.
+ Результат вызова функции system() зависит от текущей операционной системы,
+ например, в ОС Windows необходимо использовать такую команду
+ system('date /t') или :r!date /t
+
+---> Правильно ли я помню, что в сутках 84600 секунд?
+ Сегодняшняя дата
+
+Примечание.
+ Тот же результат можно получить с помощью такой команды :pu=system('date')
+ или более короткой команды :r!date
+
+Разделы документации:
+ регистр результата вычислений :h quote=
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Урок 2.1.3. НУМЕРОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim
+
+ ** Как команды yy и dd влияют на содержимое регистров **
+
+ 1. Переместите каретку к строке помеченной --->
+
+ 2. Скопируйте эту строку и проверьте состояние регистров с помощью команды
+ :reg<ENTER>
+
+ 3. Удалите строку, начинающуюся с цифры 0, с помощью команды "cdd и ещё раз
+ проверьте состояние регистров (где будет строка, начинающаяся с цифры 0?)
+
+ 4. Продолжайте удалять все последующие нумерованные строки, проверяя состояние
+ регистров после каждой операции.
+
+Примечание.
+ В ходе этих действий вы заметите, что ранее удалённые строки смещаются вниз
+ по мере того, как новые удалённые строки добавляются в перечень регистров.
+
+ 5. Теперь вставьте содержимое регистров в следующем порядке: c, 7, 4, 8, 2.
+ То есть наберите команды "cp , "7p и так далее.
+
+---> 0. Здесь
+ 9. шататься
+ 8. секретное
+ 7. будет
+ 6. на
+ 5. шесте
+ 4. это
+ 3. войны
+ 2. послание
+ 1. наградой
+
+Примечание.
+ Целые строки, удалённые по команде dd , дольше сохраняются в нумерованных
+ регистрах, чем строки, которые были скопированы или когда с оператором
+ удаления указывается объект текста для перемещения каретки.
+
+Разделы документации:
+ нумерованные регистры :h quote_number
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Урок 2.1.4. ИЗЯЩЕСТВО ЗАКЛАДОК
+
+ ** Избегайте действий, свойственных для дятлокодеров **
+
+Примечание.
+ При написании программ часто возникает необходимость перемещения больших
+ фрагментов кода. Приём, приведённый далее, поможет избежать подсчёта номеров
+ строк, требуемых для операций вроде "a147d или :945,1091d a , или даже
+ хуже — i<C-r>=1091-935<ENTER> , как первое действие.
+
+ 1. Переместите каретку к строке помеченной --->
+
+ 2. Установите каретку на следующую строку, где начинается описание функции,
+ и поставьте закладку, воспользовавшись командой ma
+
+Примечание.
+ Неважно где будет находиться каретка в этой строке.
+
+ 3. С помощью следующей команды $% установите каретку на последний символ
+ в этой строке с последующим перемещением на окончание блока кода
+
+ 4. Удалите весь это блок кода в регистр с названием «a» с помощью команды
+ "ad'a
+
+Эта команда означает следующее:
+ в регистр(") с названием (a) поместить удалённые строки от позиции каретки
+ до строки, в которой установлена закладка(') с названием (a)
+
+ 5. Вставьте удалённый блок между символами BBB и CCC с помощь команды
+ "ap
+
+---> AAA
+ function itGotRealBigRealFast() {
+ if ( somethingIsTrue ) {
+ doIt()
+ }
+ // таксономия нашей функции изменилась, и её текущее положение больше
+ // не имеет привязки к алфавитному порядку
+
+ // а теперь представьте, что здесь сотни строк кода
+
+ // было бы глупо искать начальную и конечную строку этого блока кода,
+ // чтобы записывать или запоминать номер строки для каждой из них
+ }
+ BBB
+ CCC
+
+Примечание.
+ Пространство именования закладок и регистров не пересекаются между собой,
+ поэтому регистр «a» полностью независим от закладки с таким же названием «a».
+ Это правило не распространяется на регистры и макросы.
+
+Разделы документации:
+ закладки :h marks
+ перемещение к закладкам :h mark-motions (различие между ` и ')
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Резюме урока 2.1
+
+ 1. Чтобы сохранить (при удалении или копировании) текст для последующей
+ вставки, используйте имеющиеся 26 именованных регистра (a-z).
+ 2. Чтобы скопировать целое слово при нахождении каретки на любом символе
+ в этом слове, воспользуйтесь командой yiw
+ 3. Чтобы изменить целое слово при нахождении каретки на любом символе в этом
+ слове, воспользуйтесь командой ciw
+ 4. Чтобы в режиме вставки вставить текст непосредственно из регистра,
+ воспользуйтесь командой <C-r>a
+
+ 5. Чтобы в режиме вставки вставить результат вычисления простых математических
+ операций, воспользуйтесь командой <C-r>=60*60<ENTER>
+ 6. Чтобы в режиме вставки вставить результат выполнения команд системы,
+ воспользуйтесь командой <C-r>=system('ls -l')
+
+ 7. Чтобы просмотреть содержимое регистров, воспользуйтесь командой :reg
+ 8. Учитывайте распределение удалённых целиком строк по команде dd — это
+ нумерованные регистры в порядке убывания, т. е. от 1 до 9.
+ Помните, что в нумерованных регистрах дольше хранятся те строки, которые
+ были уделены целиком, в отличие от любых других операций
+ 9. Учитывайте, что в нумерованных регистрах кратковременно сохраняется всё
+ что скопировано.
+
+ 10. Чтобы установить закладку в режиме команд, воспользуйтесь командой
+ m[a-zA-Z0-9]
+ 11. Чтобы переместить каретку на строку в которой установлена закладка,
+ воспользуйтесь командой '
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ На этом пока заканчивается вторая глава учебника по редактору Vim.
+ Работа над этой главой будет продолжена.
+
+ Вторая глава учебника была написана Полом Д. Паркером (Paul D. Parker).
+
+ Restorer, перевод на русский язык, 2025, restorer@mail2k.ru
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~