当前位置: 技术问答>linux和unix
[VIM] 如何在匹配的模式中插入
来源: 互联网 发布时间:2016-02-24
本文导语: Vim 中如何在匹配的模式中插入字符? 例如: 一个文件中有许多 if(...) a=b; 其中的(...)长度不定,()中字符可能是字母,数字,空格,运算符等. 现在想将文件中所有这样的语句替换为 if (...) begin a=b end; 那么...
Vim 中如何在匹配的模式中插入字符?
例如: 一个文件中有许多 if(...) a=b; 其中的(...)长度不定,()中字符可能是字母,数字,空格,运算符等.
现在想将文件中所有这样的语句替换为 if (...) begin a=b end; 那么应该怎么做?
为了匹配 if (...) a=b; 这样的模式并做以上的替换,我使用 :%s=ifs*(S*)s*a=b;=____这部分如何写?____
谢谢各位大侠!
例如: 一个文件中有许多 if(...) a=b; 其中的(...)长度不定,()中字符可能是字母,数字,空格,运算符等.
现在想将文件中所有这样的语句替换为 if (...) begin a=b end; 那么应该怎么做?
为了匹配 if (...) a=b; 这样的模式并做以上的替换,我使用 :%s=ifs*(S*)s*a=b;=____这部分如何写?____
谢谢各位大侠!
|
try this:
%s/(ifs*(S*)s*(a=b);/=submatch(1)." begin ".submatch(2)." end;"/g
( 开始记录匹配
) 结束记录匹配 )
= 把后面的表达式计算出来作为替换字符串
. 字符串连接运算符
submatch(1) 第一个匹配的结果
%s/(ifs*(S*)s*(a=b);/=submatch(1)." begin ".submatch(2)." end;"/g
( 开始记录匹配
) 结束记录匹配 )
= 把后面的表达式计算出来作为替换字符串
. 字符串连接运算符
submatch(1) 第一个匹配的结果