我需要用foo
替换所有bar
个字词。
我尝试使用:%s/foo/bar/g
但问题是foo
在一行中多次出现,只有每行中第一次出现匹配我必须再次运行命令。
:%s/"/'/g
开启
"undefined"
仅匹配第一个"
如何匹配所有行中的所有匹配项?
答案 0 :(得分:0)
实际上,您使用的命令应该有效。在这里你有代码来创建一个文件并通过Vim在前面运行你的命令。模式:
$ cat << EOF > /tmp/sample.txt
> foo baz foo
> foo foo baz baz foo
> baz baz foo baz foo
> EOF
$ ex /tmp/sample.txt << EOFEX
> :%s/foo/bar/g
> :x
> EOFEX
$ cat /tmp/sample.txt
bar baz bar
bar bar baz baz bar
baz baz bar baz bar
所有出现的&#39; foo&#39;已被所有行代替。