在Vim中,我想进行搜索和替换,包括:
[0-9]*
在替换部分,我希望在这个模糊范围内的任何东西都可以继续使用。
例如,让我说我有这个:
getNumber(42).roundToTenth();
getNumber(43).roundToTenth();
getNumber(44).roundToTenth();
getNumber(45).roundToTenth();
getNumber(46).roundToTenth();
getNumber(47).roundToTenth();
并希望进行搜索并将其更改为
DontGetNumber(42).roundDownTenth();
DontGetNumber(43).roundDownTenth();
DontGetNumber(44).roundDownTenth();
DontGetNumber(45).roundDownTenth();
DontGetNumber(46).roundDownTenth();
DontGetNumber(47).roundDownTenth();
我该怎么做?
答案 0 :(得分:2)
我想也许你的意思是[0-9].*
(数字后跟零个或多个字符)。您可以使用捕获括号并在替换中使用反向引用。
s/[0-9]\(.*\)/\1/
\1
将是捕获的内容。根据需要更改替换表达式。
s/getNumber(\([0-9]*\)).*/DontGetNumber(\1).roundDownTenth();
答案 1 :(得分:0)
您真的想使用搜索/替换吗?
个人而言,我宁愿做类似的事:%g / Number / norm! ^〜IDont ^ [fT2sDown ^ [
使用带q [register]的记录并在规范后填写部分!用c-r [register]