Vim 替换命令中的感叹号有什么用

Vim what is the use of exclamation mark in substitute command

我最近找到了 vim 的替代命令,其中作者将 / 替换为 !,如下所示::%s!foo!bar 我不明白与传统的区别:%s/foo/bar.

我搜索了一些关于这个语法的文档,但没有找到任何相关的东西,所以我试图自己试验,但我无法弄清楚这两种形式之间的区别。这是我发现的:

所以我的问题是:vim 替换中的 /! 有什么区别,我什么时候应该使用一个而不是另一个?

两者都可以使用,只要它们一致(不混用)。通常使用 /。但如果要替换的字符串中有多个/,可以使用其他字符。例如:

:%s!/usr/local/bin!/usr/bin!
:%s:/usr/local/bin:/usr/bin:
:%s,/usr/local/bin,/usr/bin,