Dari :h E65
kita dapat melihat bahwa Vim tidak mengizinkan lebih dari 9 kelompok tangkapan dalam perintah substitusi.
Sebagai contoh, perintah berikut akan berfungsi:
s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)/\9\8\7\6\5\4\3\2\1
Tetapi yang satu ini dengan satu lagi grup penangkap akan gagal:
s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)/\10\9\8\7\6\5\4\3\2\1
Pertanyaan saya bukan tentang mengapa gagal (itu adalah batas keras Vim) tetapi tentang mengapa Vim memiliki batas ini sama sekali?
Juga, saya sadar bahwa regex kehidupan nyata dengan lebih dari 9 grup tangkap mungkin akan sangat mengerikan untuk dibaca dan dipelihara tetapi saya masih penasaran.
sed
: s/.../.../3
akan mengganti hanya kejadian ke-3 dari pola. Ini mungkin fitur yang paling saya lewatkan di Vim.
\%()
.