time

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

vim-record-macros.jpg Выполнение сложных, монотонных задач часто может забирать много времени и не решатся через использование регулярных выражений. Vim предоставляет возможность записи последовательности действий:

  • введите в командном режиме qa – команда для записи всех последующих действий в регистр а (или любой другой, который укажите после q).
  • выполняем нужные операции
  • нажимаем снова q (в командном режиме) для остановки записи

Все, теперь макрос записан в регистр а. Вводим @a, в командном режиме, для выполнения содержимого регистра а.

Простой пример работы – перемещение текущей строки в начало файла:

  1. Переходим к желаемой строке, нажимаем qa
  2. Вносим изменения: нажимаем dd для вырезания строки в буфер
  3. Нажимаем m’ для установки метки
  4. :1 ENTER (или gg) – переход к первой строке файла
  5. P – вставка строки из буфера
  6. ” – возвращения к установленной метке (шаг 3)
  7. Нажимаем q для завершения записи макроса

Для исполнения записанного макроса переходим к следующей строке для перемещения в начало файла и нажимаем @a

В дополнение: команда @@ повторяет последний макрос.

blog comments powered by Disqus