Você pode transformar o padrão de substituição em uma expressão, iniciando-o com \=
, para poder chamar funções dessa maneira e passar para essa função com a função submatch()
, por exemplo:
:%s/foo .*/\=Foo(submatch(0))/g
(Lembre-se de que a sub-partida 0 sempre significa todo o padrão correspondente).
Veja:
:help sub-replace-expression
:help submatch()