В вашем случае достаточно простого регулярного выражения (и лучшее решение). Однако в некоторых других случаях запись макроса может быть лучше.
Простой пример макроса приведен в документации по vim, раздел 12.1, и дальнейшее описание по адресу :help q
В двух словах:
- Введите
q
за которым следует буква (буква - это register
в который будет записан макрос).
- Выполните несколько команд, измените текст по мере необходимости, используйте всю мощь Vim.
- Переместите курсор на следующую строку.
- Нажмите
q
чтобы остановить запись.
Чтобы воспроизвести макрос, нажмите @
а затем букву, в которой был записан макрос. Чтобы повторно воспроизвести последний макрос, нажмите @@
. Введите число перед воспроизведением макроса, чтобы повторять его столько раз, сколько необходимо.
Итак, в вашем случае, чтобы преобразовать строки следующим образом:
2 No route to specified transit network
{2, "No route to specified transit network"},
- Наведите курсор на одну из линий.
- Нажмите
qa
(выбор регистра a
был произвольным).
- Нажмите именно это (включая кавычки и пробелы)
I{<esc>f cl, "<esc>A"},<esc>j
- Нажмите
q
чтобы остановить запись.
- Нажмите
100@a
и будьте счастливы, когда смотрите макрос :-)
Я оставлю читателю объяснение каждой команды из шага 3. ;-)
Конечно, это не единственное решение. Вы могли бы сделать шаг 3 разными способами.