1

Я хотел бы иметь функцию замены, результат которой будет использоваться в качестве замены, и он принимает совпадение в качестве входа.

Это доступно на некоторых языках (например, Lua).

Например, представьте, что у меня есть список сайтов в тексте, и я хочу заменить их значениями ping.

1 ответ1

4

Вы можете сделать ваш шаблон замены выражением, начав его с \= , так что вы можете вызывать функции таким образом и переходить к этой функции, что соответствует функции submatch() , например:

:%s/foo .*/\=Foo(submatch(0))/g

(Помните, что под-совпадение 0 всегда означает весь сопоставленный образец.)

Увидеть:

:help sub-replace-expression
:help submatch()

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .