Радугу, которая держится четверть часа, перестают замечать (И. Гёте).

Учебник макросов Vi и Vim: Как записывать и воспроизводить

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 20 марта 2017

Учебник макросов Vi и Vim: Как записывать и воспроизводить
С использованием функций макросов в Vim вы можете записывать и воспроизводить последовательность действий внутри редактора.

В данной статье описывается, как выполнять запись и воспроизведение внутри редактора Vi и Vim с помощью двух подробных примеров. Для ознакомления, как работать в Vim, прочитайте последнее руководство для начинающих по Vim.

Последовательность шагов записи и воспроизведения внутри Vim

  1. Начните запись, нажав Q, за которым следует символ нижнего регистра, чтобы назвать макрос
  2. Выполните любое типичное редактирование, действия внутри редактора Vim, который будет записан
  3. Остановить запись, нажав Q
  4. Воспроизведите записанный макрос, нажав @ с последующим макроименем
  5. Чтобы повторить макросы несколько раз, нажмите: NN@имя макроса, где NN является числом

Пример 1: Последовательность генерации номеров внутри файла с помощью Vim Макро

1. Запустите файл andreyex-test.txt для создания последовательности.

2. Перейдите в режим вставки и введите “1.”, Как показано ниже

Тип: Esc а затем 1.

3. Начните запись и зарегистрируйте в истории.

Тип: Esc q затем a

  • q указывает на то, чтобы начать запись
  • а показывает, где хранить записи в регистре А
  • когда вы сделаете ОК, он будет отображать “запись” в нижней части vi.

4. Скопировать 1-ю линию во 2-ю линию, чтобы объединить две линии с одну, как показано ниже

Тип: Esc yy затем p

  • уу копирует текущую строку
  • р будет вставлять строку, которая только что была скопирована
Примечание: Vim будет по- прежнему показывают запись в нижней части, как показано ниже.

Vim записи сообщений

5. Увеличьте число.

Тип: Control a

Размещая курсор на 2 – й линии, нажмите Ctrl + A , которое увеличивают число до 2, как показано ниже.

Примечание: Vim – по прежнему будет отображать запись в нижней части .

6. Остановить запись

Тип: q

Нажмите кнопку q, чтобы остановить запись. Вы заметите, что запись сообщения в нижней части Vim в настоящее время нет.

7. Повторите кнопку записи 98 раз.

Тип: 98@a

  • Теперь повторите эту работу, набрав 98@a
  • @a повторяет макрос “a” один раз.
  • 98@a повторяет состояние макросов “a” 98 раз порождающие порядковый номер 1 – 100, как показано ниже, с помощью макросов.
Vim Макроc Запись и воспроизведение

Пример 2: Повторите Vim Macro с различными аргументами

Этот пример объясняет, как можно выполнив одну и ту же команду, с другим входом для него, т.е. одну и ту же команду, с различными аргументами.

Перед выполнением макроса: andreyex-password.sql

После записи и исполнения макроса: andreyex-password.sql

1. Откройте andreyex-password.sql, который имеет только имена.

2. Запустите запись и сохранить его в регистре

Тип: q a

  • q указывает на то, чтобы начать запись
  • а показывает хранить записи в регистре a
  • Когда вы нажмете ОК, он будет отображать сообщение записи в нижней части VI.

3. Перейдите в режиме вставки и тип ALTER USER

Тип: I (заглавное) , а затем “ALTER USER”

Поместите курсор в любом месте в первой строке, а затем нажмите I., который доставит вас к первому символу строки. Тип АLТЕR USER

4. Скопирывать следующее слово (то есть название)

Тип: Esc w yw

  • Нажмите клавишу Esc, а затем нажмите кнопку w, чтобы перейти к следующему слову (имя).
  • yw, копирует текущее слово (имя).

5. Перейти до конца, тип IDENTIFIED BY

Тип: Esc А, сопровождаемый “IDENTIFIED BY”

  • Нажмите Esc, и А, чтобы переместить курсор в конец строки, а затем введите пробел.
  • Тип ” IDENTIFIED BY”

6. Вставьте скопированное имя

Тип: Esc р

Нажмите клавишу Esc, а затем введите р, чтобы вставить имя, которое было скопировано в шаге #4.

7. Завершите цитату в конце.

Тип: Esc А , followed by ‘;

Нажмите Esc, и А, чтобы перейти до конца строки, и ;

8. Переход к следующей строке и остановка записи.

Тип: Esc j затем q

  • j, чтобы перейти к следующей строке.
  • q, чтобы остановить запись

Примечание: Сообщение записи, показанное в нижней части VI теперь исчезybn. На данном этапе, andreyex-password.sql будет выглядеть следующим образом .

Vim Запись макросов

9. Повтор макроса с аргументами в соответствующей строке

Тип: 8 @ a

  • Теперь повторите эту работу 8 раз, набрав 8@a
  • @a повторяет макрос “a” один раз.
  • 8@a повторяет состояние макросов “a” 8 раз завершая остальную часть строки автоматически, как показано ниже
Vim Макроc Воспроизведение записи


Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close