макрос может выполнять большую часть работы, и мы можем использовать секунду для автоматизации всей задачи, давайте подготовим макрос, который обновляет максимальный номер строки в / path_to_file, / line, например, в регистре @l.
ql$by$:let m=max([m,@"])<CR>q
, который идет до конца строки, копирует до начала числа, возвращает его в регистр по умолчанию (то есть @ ") и затем обновляет m соответственно.
Теперь я обертываю эту команду в следующие команды, которые вы можете добавить в другой макрос для повторного использования
:let m=0
:g/path_to_file/exe "normal @l"
, который инициализирует максимум (не надеюсь, что в вашем файле есть исключительно отрицательные номера строк), а затемвыполняет макрос для всех совпадающих строк, кроме команды g.
HTH