De :h E65
podemos ver que Vim no permite más de 9 grupos de captura en un comando de sustitución.
Por ejemplo, el siguiente comando funcionará:
s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)/\9\8\7\6\5\4\3\2\1
Pero este con un grupo de captura más fallará:
s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)/\10\9\8\7\6\5\4\3\2\1
Mi pregunta no es por qué falla (es un límite rígido de Vim) sino por qué Vim tiene este límite.
Además, soy consciente de que una expresión regular de la vida real con más de 9 grupos de captura probablemente sería bastante monstruosa de leer y mantener, pero todavía tengo curiosidad.
sed
: s/.../.../3
reemplazaría solo la tercera aparición del patrón. Esta es probablemente la característica que más extraño en Vim.
\%()
.