Para fazer avaliação de expressão na substituição, consulte:
:help :s\=
:help submatch()
Por exemplo:
:%s/width="\([0-9]\{2\}\)"/\='width="'.(submatch(1)+10).'"'/g
Quando você faz a substituição de expressão, toda a substituição deve ser uma expressão, portanto, é necessário concatenar (ver :help expr-.
) os três elementos da expressão. Dividido:
-
\=
Indique que o padrão de substituição é uma expressão.
-
'width="'
A primeira string.
-
(submatch(1) + 10)
Adicione dez à primeira correspondência de sub-padrão - entre parênteses, para que o Vim não tente incluir a string anterior na operação de adição.
-
'"'
A cotação de fechamento como uma string.
(Observe que eu não incluí os operadores de concatenação no detalhamento).