vim字符串替换

时间:2010-10-21 05:02:06

标签: vim substitution

我想用cygdrive/e替换所有cygdrive/d使用vim。但我无法正确获得匹配模式。这是我的命令:

s/cygdrive\/e/cygdrive\/d/g

它不起作用。谁能告诉我什么是错的?

谢谢,

3 个答案:

答案 0 :(得分:3)

vim允许你指定分隔符..(s后面的第一个字符是分隔符)

s/cygdrive\/e/cygdrive\/d/g 

使用行范围参数..和#as delimiter

ESC:
:1,$    s#/cygdrive/e#/cygdrive/d#g 

答案 1 :(得分:2)

您的搜索模式和替换字符串看起来很好。

尝试时确保您处于ex模式。

所以按ESC,然后按:,然后按

%s/cygdrive\/e/cygdrive\/d/g

但如果你想在当前行中完成所有替换,你可以这样做:

s/cygdrive\/e/cygdrive\/d/g

答案 2 :(得分:-2)

你必须逃避特殊角色 像这样 S / cygdrive \ / E / cygdrive \ / d /克