:%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
4条答案
按热度按时间gopyfrb31#
我会这样做:
字符串
由于确认开关'c',每次替换时都会询问您。对于'fullname'的替换,请回答'n'(否),对于其余行,请回答'a'(全部)。
rxztt3cl2#
这样做:
字符串
请注意,如果输入格式不正确,使用正则表达式匹配嵌套模式(如括号中)将出错。上面的方法根本不处理嵌套括号,引号或转义括号也会破坏嵌套括号。请小心处理。
其内容如下:
型
值得注意的是,Vim确实支持可变长度的look-behind,而大多数现代的正则表达式实现都不支持。
hlswsv353#
此命令将所有非空格、制表符、等号、括号或括号的内容置于引号中:
字符串
请注意,这也引用了
fullname
,但您可以手动删除这些引用。有时候手动完成部分工作是值得的,因为自动化会更慢。
运行命令:
型
获取有关Vim中regexp替换的帮助。
bcs8qyzn4#
同样适用于此示例:
字符串
还有一个更一般的例子:
型