From: RestorerZ Date: Tue, 6 Jan 2026 11:14:57 +0000 (+0000) Subject: translation(ru): updated tutor files X-Git-Tag: v9.1.2056~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ac486b8a6aee983606d88a9027329769b9944ce;p=thirdparty%2Fvim.git translation(ru): updated tutor files closes: #19090 Signed-off-by: RestorerZ Signed-off-by: Christian Brabandt --- diff --git a/runtime/tutor/ru/vim-01-beginner.tutor b/runtime/tutor/ru/vim-01-beginner.tutor index e4c327c68f..0f5d5d1349 100644 --- a/runtime/tutor/ru/vim-01-beginner.tutor +++ b/runtime/tutor/ru/vim-01-beginner.tutor @@ -1,6 +1,6 @@ # ДОБРО ПОЖАЛОВАТЬ НА ЗАНЯТИЯ ПО РЕДАКТОРУ Vim -## ГЛАВА ПЕРВАЯ +# ГЛАВА ПЕРВАЯ Программа Vim — это очень мощный текстовый редактор, имеющий множество команд, и все их просто невозможно описать в рамках этого учебника. @@ -53,11 +53,11 @@ ** Чтобы перемещать каретку в указанных направлениях, нажмите клавиши `h`, `j`, `k`, `l`** - ↑ *Подсказка.* - k Клавиша `h`{normal} слева и удобна для перемещения влево. + ↑ *Подсказка.* + k Клавиша `h`{normal} слева и удобна для перемещения влево. ← h l → Клавиша `l`{normal} справа и удобна для перемещения вправо. - j Клавиша `j`{normal} похожа на стрелку »вниз». - ↓ + j Клавиша `j`{normal} похожа на стрелку »вниз». + ↓ 1. Перемещайте каретку в разных направлениях, пока не ощутите уверенность. 2. Удерживайте нажатой клавишу «вниз» (`j`{normal}) для беспрерывного @@ -281,9 +281,9 @@ этот оператор. Так, например, формат команды удаления с оператором [d](d) следующий: - d объект + d объект где - d - оператор удаления; + d - оператор удаления; объект - область текста (указаны ниже), к которой будет применён оператор. Краткий перечень объектов: @@ -410,7 +410,7 @@ укажите их число, например, `2w`{normal} 6. Формат команд изменения: - оператор [число] объект + оператор [число] объект где оператор - необходимые действия, например, [d](d) для удаления; [число] - количество подпадающих под действие оператора объектов, @@ -539,7 +539,7 @@ где c - оператор изменения; [число] - количество изменяемых объектов (необязательная часть); - объект - объект текста, который будет изменён. + объект - объект текста, который будет изменён. Теперь переходите к следующему уроку. @@ -836,7 +836,7 @@ Некоторые полезные примеры: (Windows) (UNIX) - `:!dir`{vim} `:!ls`{vim} - вывести перечень файлов в каталоге; + `:!dir`{vim} `:!ls`{vim} - вывести перечень файлов в каталоге; `:!del ФАЙЛ`{vim} `:!rm ФАЙЛ`{vim} - удалить файл с указанным названием. 2. По команде [:w](:w) ФАЙЛ — текущий редактируемый файл будет записан @@ -1099,13 +1099,21 @@ 4. Нажмите клавиши ``{normal}, и будет показан перечень команд редактора Vim начинающихся с буквы «e». - 5. Нажмите клавиши `d`{normal}, и будет подставлено полное название - команды `:edit`{vim}. + 5. Нажмите клавиши `d`{normal}, и будет отображено меню с возожными + наименованиями команд для подстановки (или подставлено соответствующее + наименование, если введёная команда достаточно уникально, например, для + `:ed`{vim} будет подставлена команда `:edit`{vim}). - 6. Теперь напечатайте пробел и начало наименования существующего файла + 6. Используйте или для перехода к следующему соответствию. + Или либо CTRL-P> для перехода к предыдущему соответствию. + + 7. Выберите пункт edit. И команда `edit`{vim} будет автоматически подставлена + в командную строку. + + 8. Теперь напечатайте пробел и начало наименования существующего файла `:edit TE`{vim} - 7. Нажмите клавишу ``{normal} и будет подставлено наименование файла, + 9. Нажмите клавишу ``{normal} и будет подставлено наименование файла, если оно уникальное. **Примечание.** diff --git a/runtime/tutor/ru/vim-02-beginner.tutor b/runtime/tutor/ru/vim-02-beginner.tutor index d2b69181af..0d8b6e65e8 100644 --- a/runtime/tutor/ru/vim-02-beginner.tutor +++ b/runtime/tutor/ru/vim-02-beginner.tutor @@ -1,6 +1,6 @@ # ДОБРО ПОЖАЛОВАТЬ НА ЗАНЯТИЯ ПО РЕДАКТОРУ Vim -## ГЛАВА ВТОРАЯ +# ГЛАВА ВТОРАЯ Что‐то неожиданное и непонятное? Если это ваше первое знакомство с редактором Vim и вы планировали начать @@ -11,12 +11,54 @@ ~~~ Или просто откройте по ссылке [первую главу](@tutor:vim-01-beginner) учебника. - Приблизительное время, необходимое для изучения второй главы учебника + Приблизительное время, необходимое для изучения второй главы учебника, составляет около 8–10 минут, и зависит от того, сколько времени вы посвятите выполнению заданий. -# Урок 2.1.1. ИМЕНОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim +# Урок 2.1.1. ОСВОЕНИЕ ТЕКСТОВЫХ ОБЪЕКТОВ + +** Точечные операции с логическими частями текста используя текстовые объекты ** + + 1. Попрактикуйтесь в аккуратной работе со словами: + - Поместите каретку на любое слово в строке почеченной ✓ + - Наберите `diw`{normal}, чтобы удалить ТОЛЬКО слово + (слово без окружающих пробелов) + - Наберите `daw`{normal}, чтобы удалить СЛОВО (включая конечные пробелы) + - Попробуйте другие операторы: `ciw`{normal} (изменить), + `yiw`{normal} (копировать), `gqiw`{normal} (форматировать) + +Потренируйтесь здесь на словах: «Vim'овский», (text_object) и 'мощный'. + + 2. Работа с содержимым скобок: + - Поместите каретку внутри любой пары () {} [] <> в строке помеченной ✓ + - Наберите `di(`{normal} или `dib`{normal} + (удалить всё, что внутри круглых скобок) + - Наберите `da(`{normal} или `dab`{normal} + (удалить внутри круглых скобок и сами скобки) + - Попробуйте то же самое с `i"`{normal} и `a"`{normal} для машинописных + кавычек или `it`{normal} и `at`{normal} для тегов HTML и XML. + +Примеры: {фигурные}, [прямоугольные], <угловые>, (круглые) и "quoted". + + 3. Операции с абзацами и предложениями: + - Наберите `dip`{normal} для удаления ТОЛЬКО абзаца + (каретка может быть в любом месте абзаца) + - Наберите `vap`{normal} для визуального выделения всего абзаца + - Попробуйте `das`{normal} для удаления предложения + (работает при наличии знаков препинания .!? ) + + 4. Расширенные комбинации: + - `ciwnew`{normal} — изменить текущее слово на «new» + - `ciw"-"`{normal} — обернуть всю строку в кавычки + - `gUit`{normal} — преобразовать внутреннее содержимое HTML-тега в верхний + регистр + - `va"p`{normal} — выделить текст в кавычках и вставить поверх него + +Итоговое задание: (Измените "этот" текст) [применив {различные} операции]< + + +# Урок 2.1.2. ИМЕНОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim ** Копирование с сохранением двух разных слов и последующая их вставка в текст ** @@ -35,13 +77,13 @@ `"byiw`{normal} 4. Переместите каретку на любой символ слова «Виктор» и наберите на клавиатуре - `ciwa`{normal} + `ciwa`{normal} Эта команда означает следующее: *изменить(c) только(i) слово(w) на <содержимое регистра(r)> с названием(a)* 5. Установите каретку на любой символ слова «тортов» и наберите - `ciwb`{normal} + `ciwb`{normal} а) Отныне Эдуард будет отвечать за раздачу печенья б) Таким образом Виктор имеет единоличные права по распределению тортов @@ -58,7 +100,7 @@ [CTRL-R](i_CTRL-R) -# Урок 2.1.2. РЕГИСТР РЕЗУЛЬТАТА ВЫЧИСЛЕНИЙ +# Урок 2.1.3. РЕГИСТР РЕЗУЛЬТАТА ВЫЧИСЛЕНИЙ ** Вставка результатов вычислений напрямую в текст ** @@ -66,11 +108,11 @@ 2. Установите каретку на любой цифре приведённого числа - 3. Наберите на клавиатуре `ciw=60*60*24`{normal} ``{normal} + 3. Наберите на клавиатуре `ciw=60*60*24`{normal} ``{normal} 4. Переместите каретку в конец следующей строки, переключите редактор в режим вставки, и добавьте сегодняшнюю дату с помощью следующей команды - `=`{normal}`system('date')`{vim} ``{normal} + `=`{normal}`system('date')`{vim} ``{normal} Примечание. Результат вызова функции `system()`{vim} зависит от текущей операционной @@ -88,14 +130,14 @@ [регистр результата вычислений](quote=) -# Урок 2.1.3. НУМЕРОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim +# Урок 2.1.4. НУМЕРОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim ** Как команды `yy`{normal} и `dd`{normal} влияют на содержимое регистров ** 1. Переместите каретку к строке помеченной ✓ - 2. Скопируйте эту строку и проверьте состояние регистров с помощью команды - `:reg`{vim} ``{normal} + 2. Скопируйте строку, начинающуюся с цифры 0, и проверьте состояние регистров + с помощью команды `:reg`{vim} ``{normal} 3. Удалите строку, начинающуюся с цифры 0, с помощью команды `"cdd`{normal} и ещё раз проверьте состояние регистров (где будет строка, начинающаяся @@ -132,7 +174,58 @@ [нумерованные регистры](quote_number) -# Урок 2.1.4. ИЗЯЩЕСТВО ЗАКЛАДОК +# Урок 2.1.5. СПЕЦИАЛЬНЫЕ РЕГИСТРЫ + +** Применение регистров буфера обмена и «чёрная дыра» для расширенной правки ** + + Примечание. + Для использования системного буфера обмена в системе Linux требуются + библиотеки X11 или Wayland, и сам редактор Vim должен быть скомпилирован + с включённым компонентом «+clipboard» (обычно это максимальная версия). + Это можно проверить с помощью следующих команд редактора Vim: + `:version`{vim} и `:echo has('clipboard_working')`{vim} + + 1. Регистры буфера обмена `+`{normal} и `*`{normal}: + - `"+y`{normal} — копирование в системный буфер обмена + (например, по команде `"+yy`{normal} будет скопирована текущая строка) + - `"+p`{normal} — вставка из системного буфера обмена + - `"*`{normal} — основной выбор в X11 (средняя кнопка «мыши»), + а `"+`{normal} — буфер обмена + +"+yy в этой строке, затем вставьте в другое приложение по Ctrl+V или Cmd+V + + 2. Регистр «чёрная дыра» `_`{normal} стирает текст: + - `"_daw`{normal} — сотрёт слово без сохранения в регистре + - Полезно, когда вы не хотите перезаписывать регистр по умолчанию `"`{normal} + - Обратите внимание, что здесь используется текстовый объект «a Word», + описанный в предыдущем уроке + - `"_dd`{normal} — сотрёт строку без сохранения + - `"_dap`{normal} — сотрёт абзац без сохранения + - Комбинируйте со счётчиками: `3"_dw`{normal} + +"_diw на любом слове, чтобы удалить его, не затрагивая историю копирования + + 3. Совместите с визуальным выделением: + - Выделите текст с помощью , a затем `"+y`{normal} + - Чтобы вставить из буфера обмена в режиме вставки — `+`{normal} + - Попробуйте открыть другое приложение и вставить из системного буфера обмена + + 4. Запомните: + - Регистры буфера обмена доступны между разными экземплярами редактора Vim + - Регистр буфера обмена не всегда работает + - Регистр «чёрная дыра» предотвращает случайную перезапись других регистров + - Регистр `"`{normal} по-прежнему доступен для копирования и вставки + - Именованные регистры (a-z) остаются частными для каждой сессии Vim + + 5. Устранение неполадок с буфером обмена: + - Проверьте доступность с помощью команды + `:echo has('clipboard_working')`{vim} + - При выводе 1 — означает доступно, 0 — означает, что компонент не включен + - В систме Linux может потребоваться пакет vim-gtk или vim-x11 + (посмотрите вывод команды `:version`{vim}) + + +# Урок 2.1.6. ИЗЯЩЕСТВО ЗАКЛАДОК ** Избегайте действий, свойственных для дятлокодеров ** @@ -140,7 +233,7 @@ При написании программ часто возникает необходимость перемещения больших фрагментов кода. Приём, приведённый далее, поможет избежать подсчёта номеров строк, требуемых для операций вроде `"a147d`{normal} или `:945,1091d a`{vim}, - или даже хуже — `i=1091-935`{normal}, как первое действие. + или даже хуже — `i=1091-935`{normal}, как первое действие. 1. Переместите каретку к строке помеченной ✓ @@ -165,7 +258,7 @@ ~~~ cmd AAA -function itGotRealBigRealFast() { +function ItGotRealBigRealFast() { if ( somethingIsTrue ) { doIt() } @@ -193,33 +286,47 @@ CCC # РЕЗЮМЕ УРОКА 2.1 - 1. Чтобы сохранить (при удалении или копировании) текст для последующей + 1. Текстовые объекты обеспечивают точное редактирование: + - `iw`{normal} или `aw`{normal} — только или включая слово + - `i[`{normal} или `a[`{normal} — внутри или включая скобки + - `i"`{normal} или `a"`{normal} — внутри или включая кавычки + - `it`{normal} или `at`{normal} — внутри или включая теги + - `ip`{normal} или `ap`{normal} — только или включая абзаца + - `is`{normal} или `as`{normal} — только или включая предложения + + 2. Чтобы сохранить (при удалении или копировании) текст для последующей вставки, используйте имеющиеся 26 именованных регистра (a-z). - 2. Чтобы скопировать целое слово при нахождении каретки на любом символе + 3. Чтобы скопировать целое слово при нахождении каретки на любом символе в этом слове, воспользуйтесь командой `yiw`{normal} - 3. Чтобы изменить целое слово при нахождении каретки на любом символе в этом + 4. Чтобы изменить целое слово при нахождении каретки на любом символе в этом слове, воспользуйтесь командой `ciw`{normal} - 4. Чтобы в режиме вставки вставить текст непосредственно из регистра, - воспользуйтесь командой `a`{normal} + 5. Чтобы в режиме вставки вставить текст непосредственно из регистра, + воспользуйтесь командой `a`{normal} - 5. Чтобы в режиме вставки вставить результат вычисления простых математических - операций, воспользуйтесь командой `=60*60`{normal} ``{normal} - 6. Чтобы в режиме вставки вставить результат выполнения команд системы, - воспользуйтесь командой `=`{normal}`system('ls -l')`{vim} + 6. Чтобы в режиме вставки вставить результат вычисления простых математических + операций, воспользуйтесь командой `=60*60`{normal} + 7. Чтобы в режиме вставки вставить результат выполнения команд системы, + воспользуйтесь командой `=`{normal}`system('ls -l')`{vim} - 7. Чтобы просмотреть содержимое регистров, воспользуйтесь командой `:reg`{vim} - 8. Учитывайте распределение удалённых целиком строк по команде `dd`{normal} — + 8. Чтобы просмотреть содержимое регистров, воспользуйтесь командой `:reg`{vim} + 9. Учитывайте распределение удалённых целиком строк по команде `dd`{normal} — это нумерованные регистры в порядке убывания, т. е. от 1 до 9. Помните, что в нумерованных регистрах дольше хранятся те строки, которые были уделены целиком, в отличие от любых других операций - 9. Учитывайте, что в нумерованных регистрах кратковременно сохраняется всё + 10. Учитывайте, что в нумерованных регистрах кратковременно сохраняется всё что скопировано. - 10. Чтобы установить закладку в режиме команд, воспользуйтесь командой + 11. Чтобы установить закладку в режиме команд, воспользуйтесь командой `m[a-zA-Z0-9]`{normal} - 11. Чтобы переместить каретку на строку в которой установлена закладка, + 12. Чтобы переместить каретку на строку в которой установлена закладка, воспользуйтесь командой `'`{normal} + 13. Специальные регистры: + - `"+`{normal} и `"*`{normal} — системный буфер обмена (зависит от ОС) + - `"_`{normal} — «чёрная дыра» (стирание удалённого или скопированного текста) + - `"=`{normal} — регистр результата вычислений + - `"-`{normal} — регистр малых удалений + # ЗАКЛЮЧЕНИЕ @@ -227,5 +334,6 @@ CCC Работа над этой главой будет продолжена. Вторая глава учебника была написана Полом Д. Паркером (Paul D. Parker). + и Кристианом Брабандт (Christian Brabandt). 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 index 2338901fbb..1bf6a98192 100644 --- a/runtime/tutor/ru/vim-02-beginner.tutor.json +++ b/runtime/tutor/ru/vim-02-beginner.tutor.json @@ -1,10 +1,15 @@ { "expect": { - "46": -1, - "47": "б) Таким образом Эдуард имеет единоличные права по распределению печенья", - "80": "Правильно ли я помню, что в сутках 86400 секунд?", - "81": -1, - "114": -1, - "167": -1 + "31": -1, + "42": -1, + "58": -1, + "88": -1, + "89": "б) Таким образом Эдуард имеет единоличные права по распределению печенья", + "122": "Правильно ли я помню, что в сутках 86400 секунд?", + "123": -1, + "156": -1, + "195": -1, + "206": -1, + "260": -1 } } diff --git a/runtime/tutor/tutor1.ru b/runtime/tutor/tutor1.ru index c303c25daa..9d4cab3346 100644 --- a/runtime/tutor/tutor1.ru +++ b/runtime/tutor/tutor1.ru @@ -983,7 +983,9 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ На этом можно завершить первую часть занятий посвящённых редактору Vim. - Далее вы можете ознакомиться со второй частью занятий. + Далее вы можете ознакомиться со второй частью занятий, в которой + рассматриваются такие понятия как регистры, закладки и работа с текстовыми + объектами. Целью данного курса было дать краткий обзор редактора Vim, достаточный для того, чтобы не возникало сложностей при его использовании. Это далеко не diff --git a/runtime/tutor/tutor2.ru b/runtime/tutor/tutor2.ru index b3282045c5..a3a96b7eb0 100644 --- a/runtime/tutor/tutor2.ru +++ b/runtime/tutor/tutor2.ru @@ -11,13 +11,53 @@ ещё раз, набрав в командной оболочке такую команду vimtutor --chapter 1 ru - Приблизительное время, необходимое для изучения второй главы учебника + Приблизительное время, необходимое для изучения второй главы учебника, составляет около 8–10 минут, и зависит от того, сколько времени вы посвятите выполнению заданий. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 2.1.1. ИМЕНОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim + Урок 2.1.1. ОСВОЕНИЕ ТЕКСТОВЫХ ОБЪЕКТОВ + +** Точечные операции с логическими частями текста используя текстовые объекты ** + + 1. Попрактикуйтесь в аккуратной работе со словами: + - Поместите каретку на любое слово в строке почеченной ---> + - Наберите diw , чтобы удалить ТОЛЬКО слово (слово без окружающих пробелов) + - Наберите daw , чтобы удалить СЛОВО (включая конечные пробелы) + - Попробуйте другие операторы: ciw (изменить), yiw (копировать), + gqiw (форматировать) + +---> Потренируйтесь здесь на словах: «Vim'овский», (text_object) и 'мощный'. + + 2. Работа с содержимым скобок: + - Поместите каретку внутри любой пары () {} [] <> в строке помеченной ---> + - Наберите di( или dib (удалить всё, что внутри круглых скобок) + - Наберите da( или dab (удалить внутри круглых скобок и сами скобки) + - Попробуйте то же самое с i" и a" для машинописных кавычек или + it и at для тегов HTML и XML. + +---> Примеры: {фигурные}, [прямоугольные], <угловые>, (круглые) и "quoted". + + 3. Операции с абзацами и предложениями: + - Наберите dip для удаления ТОЛЬКО абзаца + (каретка может быть в любом месте абзаца) + - Наберите vap для визуального выделения всего абзаца + - Попробуйте das для удаления предложения + (работает при наличии знаков препинания .!? ) + + 4. Расширенные комбинации: + - ciwnew — изменить текущее слово на «new» + - ciw"-" — обернуть всю строку в кавычки + - gUit — преобразовать внутреннее содержимое HTML-тега в верхний + регистр + - va"p — выделить текст в кавычках и вставить поверх него + +---> Итоговое задание: (Измените "этот" текст) [применив {различные} операции]< + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Урок 2.1.2. ИМЕНОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim ** Копирование с сохранением двух разных слов и последующая их вставка в текст ** @@ -34,13 +74,13 @@ "byiw 4. Переместите каретку на любой символ слова «Виктор» и наберите на клавиатуре - ciwa + ciwa Эта команда означает следующее: изменить(c) только(i) слово(w) на <содержимое регистра(r)> с названием(a) 5. Установите каретку на любой символ слова «тортов» и наберите - ciwb + ciwb ---> а) Отныне Эдуард будет отвечать за раздачу печенья б) Таким образом Виктор имеет единоличные права по распределению тортов @@ -58,7 +98,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 2.1.2. РЕГИСТР РЕЗУЛЬТАТА ВЫЧИСЛЕНИЙ + Урок 2.1.3. РЕГИСТР РЕЗУЛЬТАТА ВЫЧИСЛЕНИЙ ** Вставка результатов вычислений напрямую в текст ** @@ -66,11 +106,11 @@ 2. Установите каретку на любой цифре приведённого числа - 3. Наберите на клавиатуре ciw=60*60*24 + 3. Наберите на клавиатуре ciw=60*60*24 4. Переместите каретку в конец следующей строки, переключите редактор в режим вставки, и добавьте сегодняшнюю дату с помощью следующей команды - =system('date') + =system('date') Примечание. Результат вызова функции system() зависит от текущей операционной системы, @@ -89,7 +129,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 2.1.3. НУМЕРОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim + Урок 2.1.4. НУМЕРОВАННЫЕ РЕГИСТРЫ В РЕДАКТОРЕ Vim ** Как команды yy и dd влияют на содержимое регистров ** @@ -132,7 +172,59 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 2.1.4. ИЗЯЩЕСТВО ЗАКЛАДОК + Урок 2.1.5. СПЕЦИАЛЬНЫЕ РЕГИСТРЫ + +** Применение регистров буфера обмена и «чёрная дыра» для расширенной правки ** + + Примечание. + Для использования системного буфера обмена в системе Linux требуются + библиотеки X11 или Wayland, и сам редактор Vim должен быть скомпилирован + с включённым компонентом «+clipboard» (обычно это максимальная версия). + Это можно проверить с помощью следующих команд редактора Vim: + :version + и + :echo has('clipboard_working') + + 1. Регистры буфера обмена + и * : + - "+y — копирование в системный буфер обмена + (например, по команде "+yy будет скопирована текущая строка) + - "+p — вставка из системного буфера обмена + - "* — основной выбор в X11 (средняя кнопка «мыши»), а "+ — буфер обмена + +---> "+yy в этой строке, затем вставьте в другое приложение по Ctrl+V или Cmd+V + + 2. Регистр «чёрная дыра» _ стирает текст: + - "_daw — сотрёт слово без сохранения в регистре + - Полезно, когда вы не хотите перезаписывать регистр по умолчанию " + - Обратите внимание, что здесь используется текстовый объект «a Word», + описанный в предыдущем уроке + - "_dd — сотрёт строку без сохранения + - "_dap — сотрёт абзац без сохранения + - Комбинируйте со счётчиками: 3"_dw + +---> "_diw на любом слове, чтобы удалить его, не затрагивая историю копирования + + 3. Совместите с визуальным выделением: + - Выделите текст с помощью , a затем "+y + - Чтобы вставить из буфера обмена в режиме вставки — + + - Попробуйте открыть другое приложение и вставить из системного буфера обмена + + 4. Запомните: + - Регистры буфера обмена доступны между разными экземплярами редактора Vim + - Регистр буфера обмена не всегда работает + - Регистр «чёрная дыра» предотвращает случайную перезапись других регистров + - Регистр по умолчанию " по-прежнему доступен для копирования и вставки + - Именованные регистры (a-z) остаются частными для каждой сессии Vim + + 5. Устранение неполадок с буфером обмена: + - Проверьте доступность с помощью команды :echo has('clipboard_working') + - При выводе 1 — означает доступно, 0 — означает, что компонент не включен + - В систме Linux может потребоваться пакет vim-gtk или vim-x11 + (посмотрите вывод команды :version) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Урок 2.1.6. ИЗЯЩЕСТВО ЗАКЛАДОК ** Избегайте действий, свойственных для дятлокодеров ** @@ -140,7 +232,7 @@ При написании программ часто возникает необходимость перемещения больших фрагментов кода. Приём, приведённый далее, поможет избежать подсчёта номеров строк, требуемых для операций вроде "a147d или :945,1091d a , или даже - хуже — i=1091-935 , как первое действие. + хуже — i=1091-935 , как первое действие. 1. Переместите каретку к строке помеченной ---> @@ -192,39 +284,55 @@ Резюме урока 2.1 - 1. Чтобы сохранить (при удалении или копировании) текст для последующей + 1. Текстовые объекты обеспечивают точное редактирование: + - iw или aw — только или включая слово + - i[ или a[ — внутри или включая скобки + - i" или a" — внутри или включая кавычки + - it или at — внутри или включая теги + - ip или ap — только или включая абзаца + - is или as — только или включая предложения + + 2. Чтобы сохранить (при удалении или копировании) текст для последующей вставки, используйте имеющиеся 26 именованных регистра (a-z). - 2. Чтобы скопировать целое слово при нахождении каретки на любом символе + 3. Чтобы скопировать целое слово при нахождении каретки на любом символе в этом слове, воспользуйтесь командой yiw - 3. Чтобы изменить целое слово при нахождении каретки на любом символе в этом + 4. Чтобы изменить целое слово при нахождении каретки на любом символе в этом слове, воспользуйтесь командой ciw - 4. Чтобы в режиме вставки вставить текст непосредственно из регистра, - воспользуйтесь командой a + 5. Чтобы в режиме вставки вставить текст непосредственно из регистра, + воспользуйтесь командой a - 5. Чтобы в режиме вставки вставить результат вычисления простых математических - операций, воспользуйтесь командой =60*60 - 6. Чтобы в режиме вставки вставить результат выполнения команд системы, - воспользуйтесь командой =system('ls -l') + 6. Чтобы в режиме вставки вставить результат вычисления простых математических + операций, воспользуйтесь командой =60*60 + 7. Чтобы в режиме вставки вставить результат выполнения команд системы, + воспользуйтесь командой =system('ls -l') - 7. Чтобы просмотреть содержимое регистров, воспользуйтесь командой :reg - 8. Учитывайте распределение удалённых целиком строк по команде dd — это + 8. Чтобы просмотреть содержимое регистров, воспользуйтесь командой :reg + 9. Учитывайте распределение удалённых целиком строк по команде dd — это нумерованные регистры в порядке убывания, т. е. от 1 до 9. Помните, что в нумерованных регистрах дольше хранятся те строки, которые были уделены целиком, в отличие от любых других операций - 9. Учитывайте, что в нумерованных регистрах кратковременно сохраняется всё + 10. Учитывайте, что в нумерованных регистрах кратковременно сохраняется всё что скопировано. - 10. Чтобы установить закладку в режиме команд, воспользуйтесь командой + 11. Чтобы установить закладку в режиме команд, воспользуйтесь командой m[a-zA-Z0-9] - 11. Чтобы переместить каретку на строку в которой установлена закладка, + 12. Чтобы переместить каретку на строку в которой установлена закладка, воспользуйтесь командой ' + 13. Специальные регистры: + - "+ и "* — системный буфер обмена (зависит от ОС) + - "_ — «чёрная дыра» (стирание удалённого или скопированного текста) + - "= — регистр результата вычислений + - "- — регистр малых удалений + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ На этом пока заканчивается вторая глава учебника по редактору Vim. Работа над этой главой будет продолжена. - Вторая глава учебника была написана Полом Д. Паркером (Paul D. Parker). + Вторая глава учебника была написана Полом Д. Паркером (Paul D. Parker) + и Кристианом Брабандт (Christian Brabandt). Restorer, перевод на русский язык, 2025, restorer@mail2k.ru + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~