mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	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>
		
	
		
			
				
	
	
		
			232 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			232 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #		ДОБРО  ПОЖАЛОВАТЬ  НА  ЗАНЯТИЯ  ПО  РЕДАКТОРУ  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
 |