Da :h E65
possiamo vedere che Vim non consente più di 9 gruppi di acquisizione in un comando di sostituzione.
Ad esempio il seguente comando funzionerà:
s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)/\9\8\7\6\5\4\3\2\1
Ma questo con un altro gruppo di acquisizione fallirà:
s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)/\10\9\8\7\6\5\4\3\2\1
La mia domanda non riguarda il motivo per cui fallisce (è un limite rigido di Vim), ma perché Vim ha questo limite?
Inoltre, sono consapevole che una regex di vita reale con più di 9 gruppi di acquisizione sarebbe probabilmente piuttosto mostruosa da leggere e da mantenere, ma sono ancora curiosa.
sed
: s/.../.../3
sostituirebbe solo la terza occorrenza del modello. Questa è probabilmente la caratteristica che mi manca di più in Vim.
\%()
.