Dies tut es:
:%s/\v(\(.*)@<=[[:alnum:]]+(.*\))@=/"&"/g
Beachten Sie, dass verschachtelte Muster passende (wie in Klammern) mit regex schief gehen, wenn die Eingabe ungültig ist. Das oben beschriebene Verfahren behandelt keine verschachtelten Klammern, und in Klammern gesetzte oder umgebrochene Klammern werden es auch brechen. Mit Vorsicht behandeln.
Er lautet wie folgt:
:%s substitute on all lines
/ matching
\v (with "very magic" switched on)
(\(.*)@<= a position that follows an opening paren, on this line
[[:alnum:]]+ a series of alphanumeric characters (i.e. "words")
(.*\))@= that are followed by a closing paren, on this line
/ replace with
"&" the match, in quotes
/g globally
Es ist eine bemerkenswerte Tatsache, dass vim tatsächlich variabler Länge Blick hinter unterstützt. Die meisten modernen Regex-Implementierungen tun dies nicht.
Was macht Magie? – chappar
Es entfernt die Notwendigkeit, bestimmte Zeichen zu entkommen, wodurch die Regex kürzer als normal wird. Siehe vim help -: h \ v – Tomalak