Vim全球替换(线)

时间:2011-04-07 13:30:24

标签: vim

“全局”选项不能按预期工作(这似乎最近才发生变化,但我无法追踪差异的原因)。

鉴于这一行:

ABA

我发出命令:

:S / A //克

我希望结果是:

B'/ em>的

但是,结果行是:

BA

我错过了什么?

2 个答案:

答案 0 :(得分:20)

您很可能已在gdefault中设置.vimrc

来自:help gdefault

When on, the ":substitute" flag 'g' is default on.  This means that
all matches in a line are substituted instead of one.  When a 'g' flag
is given to a ":substitute" command, this will toggle the substitution
of all or one match.

如果您未在配置中进行设置,则可以通过发出:verbose set gdefault?来查看设置位置。

答案 1 :(得分:2)

如果输入和命令正好,那么我认为没有理由这样做。

我的钱是第二个“a”,不是你认为的那样。例如,它可能是Cyrillic "a", i.e. "а" (U+0430)。在我的屏幕上,这两个是难以区分的。