vim替换一行中的多个字符

vim替换一行中的多个字符,vim,Vim,命令:%s:a:b将把行aaa修改为行baa。问题是如何仅使用一个命令(不使用:%s:a:b3次,我现在所做的是:-)获得结果bbb。您需要在末尾添加g标志,如下所示: :%s:a:b:g 当使用正则表达式时,此标志通常意味着“全局”替换,即替换所有引用 同样的技术通常也适用于使用正则表达式的其他工具,例如sed,perl,等等 更新 我很惊讶这样一个简单的答案仍然不断地获得选票。。。因此,对于你vim的粉丝们,我推荐这个很棒的网站,在这里我仍然可以学到有趣的新东西:记住“e”标志吗 :%s:

命令
:%s:a:b
将把行
aaa
修改为行
baa
。问题是如何仅使用一个命令(不使用
:%s:a:b
3次,我现在所做的是:-)获得结果
bbb

您需要在末尾添加
g
标志,如下所示:

:%s:a:b:g
当使用正则表达式时,此标志通常意味着“全局”替换,即替换所有引用

同样的技术通常也适用于使用正则表达式的其他工具,例如
sed
perl
,等等

更新

我很惊讶这样一个简单的答案仍然不断地获得选票。。。因此,对于你
vim
的粉丝们,我推荐这个很棒的网站,在这里我仍然可以学到有趣的新东西:

记住“e”标志吗

:%s:a:b:e


看看这个答案

除了
g
标志外,您的命令
:%s…
不是一行中的替换。它在整个缓冲区内。仔细检查替换结果,如果它真的是您所期望的。