Vim命令替换部分匹配的字符串

时间:2017-09-07 22:58:39

标签: vim

相对较新的vim搜索/替换命令,并想知道如何通过vim命令替换部分匹配的字符串。

E.g。如果我有

printf(_UNICODE("Text and %d I want to preserve."), 20);

我希望摆脱Unicode转换并使其成为

printf("Text and %d I want to preserve.", 20);

表示删除_UNICODE(),但保留格式字符串。

有人可以帮我提出一个vim命令来做这个并解释一下吗?

提前感谢! :)

1 个答案:

答案 0 :(得分:1)

:s/_UNICODE(\([^)]*\))/\1/g

:%s/_UNICODE(\([^)]*\))/\1/g

匹配" _UNICODE(" + not-a-closing-bracket +")"并且只用非关闭支架部件替换。

(%s表示所有行而不是当前行)