0
我需要用bar
替换所有foo
字。Vim在一行中替换不匹配多个匹配项
我试过:%s/foo/bar/g
但问题是foo
在一行中多次出现,只有每行中第一次出现匹配我必须再次运行该命令。
例如 :%s/"/'/g
上 "undefined"
只匹配第一"
我怎么能匹配所有线路都出现?
我需要用bar
替换所有foo
字。Vim在一行中替换不匹配多个匹配项
我试过:%s/foo/bar/g
但问题是foo
在一行中多次出现,只有每行中第一次出现匹配我必须再次运行该命令。
例如 :%s/"/'/g
上 "undefined"
只匹配第一"
我怎么能匹配所有线路都出现?
其实,你使用的命令应该可以工作。在这里,你有代码来创建一个文件,并在“前”模式下运行,通过你的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
“富”的所有事件已经在所有行被取代。
如果我现在在Vim中,我可以按'Q'进入ex模式并输入replace命令并退出ex模式吗? – MoreFreeze
你在使用neovim吗?在其中一个版本中,这实际上已经损坏。 – SkyFold
不是同样的好老vim –
你是否用'vim -u NONE'试过了这个默认的vim,并试过这个。如果它确实有效,那么尝试添加一些东西给你vimrc,直到你咬住它。 – SkyFold