Vim全局更换(管路)

Vim全局更换(管路),vim,Vim,“全局”选项并没有像预期的那样起作用(这似乎只是最近才发生了变化,但我还无法找到差异的原因) 鉴于该行: 阿巴 我发出命令: :s/a//g 我预计结果是: b 但是,结果行是: ba 我遗漏了什么?如果输入和命令与您给出的完全相同,我看不出有任何理由会出现这种行为 我的钱在第二个“a”上,不是你想象的那样。例如,它可能是。在我的屏幕上,两者无法区分。您的.vimrc中很可能设置了gdefault 从:help gdefault: When on, the ":substitute" flag

“全局”选项并没有像预期的那样起作用(这似乎只是最近才发生了变化,但我还无法找到差异的原因)

鉴于该行:

阿巴

我发出命令:

:s/a//g

我预计结果是:

b

但是,结果行是:

ba


我遗漏了什么?

如果输入和命令与您给出的完全相同,我看不出有任何理由会出现这种行为


我的钱在第二个“a”上,不是你想象的那样。例如,它可能是。在我的屏幕上,两者无法区分。

您的
.vimrc
中很可能设置了
gdefault

: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?

来查看它的设置位置。您的
~/.vimrc
中可能有什么有趣的地方吗?是的,设置了gdefault。我必须回到版本控制中,提醒自己何时更改了它。我忘了这件事,觉得自己很傻!好了,就这样。谢谢你的提醒!现在,如果我还记得我为什么首先设置gdefault…:o) 谢谢你的额外见解。然而,它们确实是相同的“a”。我打字了!:o)