Od :h E65
widzimy, że Vim nie pozwala na więcej niż 9 grup przechwytywania w poleceniu substytucyjnego.
Na przykład zadziała następujące polecenie:
s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)/\9\8\7\6\5\4\3\2\1
Ale ta z jeszcze jedną grupą przechwytywania zawiedzie:
s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)/\10\9\8\7\6\5\4\3\2\1
Moje pytanie nie dotyczy tego, dlaczego zawodzi (jest to twardy limit Vima), ale dlaczego w ogóle Vim ma ten limit?
Wiem też, że regex z więcej niż 9 grup przechwytywania byłby prawdopodobnie potworny do przeczytania i utrzymania, ale nadal jestem ciekawy.
sed
: s/.../.../3
zastąpiłoby tylko 3. wystąpienie wzorca. Jest to prawdopodobnie funkcja, za którą najbardziej tęsknię w Vimie.
\%()
.