如何使用vim进行条件替换

如何使用vim进行条件替换,vim,replace,conditional,Vim,Replace,Conditional,我想将word替换为word,但仅限于以-开头的行。有人知道怎么做吗 :%g/^-/s/word/WORD/g 这只是一个普通的搜索和替换,但是使用g//来过滤你想要运行它的行。:%s/^-\(.*)word\(.*)/\1WORD\2/g@srikanthroids如果你这样做,为什么不:%s/^-.\zword/word/g哎哟,我搞砸了。如果您想让/g做任何事情,\zs不会帮助您。最好使用\@注意,运行:g时不需要%。同样对于提问者,值得一提的是与:g类似的:v,但过滤了与模式不匹配的行

我想将
word
替换为
word
,但仅限于以
-
开头的行。有人知道怎么做吗

:%g/^-/s/word/WORD/g

这只是一个普通的搜索和替换,但是使用g//来过滤你想要运行它的行。

:%s/^-\(.*)word\(.*)/\1WORD\2/g
@srikanthroids如果你这样做,为什么不
:%s/^-.\zword/word/g
哎哟,我搞砸了。如果您想让
/g
做任何事情,
\zs
不会帮助您。最好使用
\@注意,运行
:g
时不需要
%
。同样对于提问者,值得一提的是与
:g
类似的
:v
,但过滤了与模式不匹配的行