Макрос, вероятно, самый простой способ. Поместите курсор в начало первой строки и запишите, что делаете это для одной строки. Затем вы можете запустить макрос по многим строкам. Например, это передаст arg в echo и заменит результаты в строку с аргументом. Введите их курсором где-то в первой строке команд.
qa0y$:r!echo <C-r>"<Enter>kddjq
Эта строка записывает макрос в регистр a (qa), перемещается в начало строки (0), копирует всю строку (y $), переходит в режим командной строки (:), считывает результат выполнения команда в строке ниже вашей (r! echo ....), Cr с последующим «вставляет ваш текст в команду: r, k возвращает вас к исходной строке, dd удаляет строку, j перемещает вас к Следующая строка (должна содержать вашу следующую команду), а затем остановил запись (q).
Теперь вы можете запускать макрос в каждой строке, нажимая @a (после выполнения этого один раз @@ повторяет последний запущенный макрос) или нажимая число раз, когда вы хотите запустить макрос 5 @ a. Или еще лучше выделите строки и нажмите: норма! @ А
Это выглядит много, когда вы печатаете, но когда вы привыкаете к макросам, они экономят время. В основном вы делаете то, что хотите, в первой строке, а затем vim повторяет ваши нажатия клавиш снова и снова. Нужно немного потренироваться, чтобы увидеть проблему как набор повторяющихся задач, но разве это не то, что мы умеем делать в любом случае:)