Ответ 1
:help sub-replace-expression
Вы можете построить выражение replace, например:
:[email protected] [email protected]\=" " . line(".")@
... Что работает для меня.
Я не уверен, что это возможно или нет, но одна из вещей, которые мне кажутся мне необходимыми, - это заменить содержимое файла, но я хочу использовать текущий номер строки в качестве опции замены. Так что если бы у меня был файл вроде:
This is text to replace XX
This is text to replace XX
This is text to replace XX
Я хотел бы иметь возможность запускать регулярное выражение, которое превратило бы этот файл в:
This is text to replace 1
This is text to replace 2
This is text to replace 3
Я огляделся, но я не могу найти способ сделать это. Это возможно? Кто-нибудь знает простой способ приблизиться к этому?
Спасибо.
:help sub-replace-expression
Вы можете построить выражение replace, например:
:[email protected] [email protected]\=" " . line(".")@
... Что работает для меня.
Это намного проще, подход
:%s/dummy/\=printf("dummy%d", line('.'))
Приведенное выше регулярное выражение в vi добавляет номер строки к каждому фиктивному слову:
С
dummy
dummy
dummy
To:
dummy1
dummy2
dummy3