在vim中替换数组

smi*_*ude 3 vim replace

我的代码中有一个数组,而我使用的是索引c[i].我想在那个地方改变c[i]和写作g[i][j].我尝试使用该命令,%s/c[i]/g[i][j]/g但做了一些不寻常的事情.

我怎样才能在Vim中进行这样的替换?提前致谢.

Luk*_*ský 7

由于[]是正则表达式中的特殊字符,您需要转义它们:

%s/c\[i\]/g[i][j]/g
Run Code Online (Sandbox Code Playgroud)


das*_*ang 7

放入\V搜索表达式进入"非常魔术"模式.它可以在表达式中的任何位置.这使得表达式中唯一的特殊字符是反斜杠.如果你没有进行正则表达式匹配,或匹配开头或结束行,那么它将为你省去很多麻烦.

%s/\Vc[i]/g[i][j]/g
Run Code Online (Sandbox Code Playgroud)