Sim, você pode. Veja :help sub-replace-special
; o \=
permite que você substitua por uma expressão Vim. E system()
pode executar um comando externo e retornar sua saída. Veja meu exemplo trivial com hostname
. Note que eu tive que usar substitute()
para me livrar do (s) caractere (s) de nova linha no resultado.
:%s/_[^_]*_/\=substitute(system('hostname'),'\n','','g')/g
PS: Eu também corrigi seu padrão regexp para corresponder ao seu exemplo.