“全局”选项不能按预期工作(这似乎只在最近才发生变化,但我无法找出差异的原因)。Vim全局替换(行)
鉴于行:
ABA
我发出命令:
:S/A // g^
我希望得到的结果是:
b
然而,得到的线条是:
BA
有什么我错过了?
“全局”选项不能按预期工作(这似乎只在最近才发生变化,但我无法找出差异的原因)。Vim全局替换(行)
鉴于行:
ABA
我发出命令:
:S/A // g^
我希望得到的结果是:
b
然而,得到的线条是:
BA
有什么我错过了?
您很有可能在您的.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?
设置。
就是这样。感谢您的提醒!现在,如果我只记得为什么我首先设置gdefault ...:o) – yawmark 2011-04-08 02:44:20
如果输入和命令是刚好如你所说,我看不到这种行为的原因。
我的钱是在第二个“a”不是你想象的那样。例如,它可能是Cyrillic "a", i.e. "а" (U+0430)。在我的屏幕上,两者是无法区分的。
感谢您的补充见解。但是,他们确实是一样的'a'。我输入了他们! :o) – yawmark 2011-04-08 02:45:11
适合我。你的'〜/ .vimrc'中可以有一些有趣的东西吗? – SingleNegationElimination 2011-04-07 13:32:43
是的,已设置gdefault。当我改变它时,我将不得不回到版本控制来提醒自己。我忘了这件事,感觉很愚蠢! o_O – yawmark 2011-04-08 02:46:25