在使用Vim编辑代码时,我经常会遇到相同的操作。我会移动到一个单词并按下'cw'或'ciw'来编辑该单词。然后我想移动到我刚编辑过的单词的下一次出现。 "*"无法正常工作,因为它将把我移到新单词的下一次出现位置(而不是旧单词的下一次出现位置)。
例如:
在下面的代码中,我的光标位于“foo”的第一次出现位置,并且我想将其更改为“bar”。我按下'cw'并写入“bar”。然后,我想移动到“foo”的下一次出现位置,以便我可以按'.'来更改它。按'*'将使我移到下一个'bar'而不是'foo'。我知道的唯一解决方法是要么使用替换命令更改所有'foo'(这可能不是我想要的),要么按'*'移动到下一个'foo'然后'#'返回存储 'foo'作为搜索项,以便我可以按'n'向前移动。有没有办法设置搜索项而不跳转到下一个单词(即,设置'n'要前往的单词,而不去任何地方)?
例如:
在下面的代码中,我的光标位于“foo”的第一次出现位置,并且我想将其更改为“bar”。我按下'cw'并写入“bar”。然后,我想移动到“foo”的下一次出现位置,以便我可以按'.'来更改它。按'*'将使我移到下一个'bar'而不是'foo'。我知道的唯一解决方法是要么使用替换命令更改所有'foo'(这可能不是我想要的),要么按'*'移动到下一个'foo'然后'#'返回存储 'foo'作为搜索项,以便我可以按'n'向前移动。有没有办法设置搜索项而不跳转到下一个单词(即,设置'n'要前往的单词,而不去任何地方)?
function(){
var foo = 'blah';
foo = 'blah';
foo = 'blah';
}
-->
function(){
var bar = 'blah';
foo = 'blah';
foo = 'blah';
}
c
标志吗,即:%s/foo/bar/gc
吗?对我来说,这似乎是解决你的问题的好方法,但并不完全回答你的问题。 - pfnuesel