vim正则表达式

以下文本中有个id: 3,我想将所有id+4,改成id: 7,
在vim中输入:
:%s/id: +(d+)/=printf("id: %d",submatch(1)+4)/
  • c confirm,每次替换前询问;
  • e error, 不显示错误;
  • g globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;
  • i ignore,忽略大小写

表示数量的元字符

 元字符   说明
* 匹配0-任意个
+ 匹配1-任意个
? 匹配0-1个
{n,m} 匹配n-m个
{n} 匹配n个
{n,} 匹配n-任意个
{,m} 匹配0-m个

表示位置的元字符

元字符说明
$ 匹配行尾
^ 匹配行首
< 匹配单词词首
> 匹配单词词尾
原文地址:https://www.cnblogs.com/ccqk/p/11262823.html