在vim中用可视块搜索/替换只会替换行内的第一个匹配项

6
我正在尝试在可视模式下使用以下命令来对一段文本进行全局查找/替换:
:'<,'>s/red/green/g
文本内容如下:
red red red blue red red red blue 期望的结果是:
green green green blue green green green blue 但实际结果却是:
green red red blue red red red blue 你知道是什么原因导致了这种行为吗?如果这是默认行为,我该如何让g真正成为全局替换呢?
谢谢。
2个回答

8

你可能已经执行了:set gdefault命令;这会将g替换标志的含义反转。您可以通过:verbose set gdefault?查看设置的位置,并通过:set nogdefault暂时关闭它,但您可能希望找到设置它的地方并将其从那里删除。


谢谢!它已经设置在我的 .vimrc 文件中了。 - darryn.ten

0

我在我的vim中尝试了这个,并得到了正确的结果:

green green green blue green green green blue

也许你的 .vimrc 文件中有一些改变默认行为的设置。你想把它附加到这个帖子中吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接