Насколько я понял, в виме группировка создается в экранированных скобках. Например,
s/\((\).*\()\)/\1\2/g --> foo(foo)foo --> foo()foo -- работает, а
s/(\().*(\))/\1\2/g --> foo(foo)foo --> паттерн не найден
s/\((\|<\).*\()\|>\)/\1\2/g --> foo(foo)foo --> foo()foo
s/\((\|<\).*\()\|>\)/\1\2/g --> foo<foo>foo --> foo()foo
s/\((\|<\|{\|[\).*\()\|>\|}\|]\)/\1\2/g
вот так вроде работает:
s/\([(<{\[]\).*\([)>}\]]\)/\1\2/g
s/\((\|<\|{\|\[).*\()\|>\|}\|\]\)/\1\2/g
Собственно, хотелось бы понять, некий общий принцип, по которому в виме экранируются и группируются символы.
И, кстати, почему они так сделали экранирование, через жопу? Нельзя ли сделать, чтобы работало как обычно?
спасибо.