Запись макросов в VIM Vim 16.11.2008
Выполнение сложных, монотонных задач часто может забирать много времени и не решатся через использование регулярных выражений. Vim предоставляет возможность записи последовательности действий:
- введите в командном режиме qa – команда для записи всех последующих действий в регистр а (или любой другой, который укажите после q).
- выполняем нужные операции
- нажимаем снова q (в командном режиме) для остановки записи
Все, теперь макрос записан в регистр а. Вводим @a, в командном режиме, для выполнения содержимого регистра а.
Простой пример работы – перемещение текущей строки в начало файла:
- Переходим к желаемой строке, нажимаем qa
- Вносим изменения: нажимаем dd для вырезания строки в буфер
- Нажимаем m’ для установки метки
- :1 ENTER (или gg) – переход к первой строке файла
- P – вставка строки из буфера
- ” – возвращения к установленной метке (шаг 3)
- Нажимаем q для завершения записи макроса
Для исполнения записанного макроса переходим к следующей строке для перемещения в начало файла и нажимаем @a
В дополнение: команда @@ повторяет последний макрос.