vimrc搜索并替换所有排除以前的匹配项

时间:2015-01-18 01:34:14

标签: regex vim replace

所以我在我的vimrc中有两个函数,我经常使用它们:

function! FindAndReplaceAllConfirm(from, to) 
  exec '%s/' . a:from . '/' . a:to . '/gc'
endfunction

function! FindAndReplaceAll(from, to) 
  exec '%s/' . a:from . '/' . a:to . '/g'
endfunction

如果我用FooBar替换Foo,则需要考虑问题。有时我在文件中已经有了FooBar,我不希望FooBar成为FooFooBar。如何排除这样的补丁。

1 个答案:

答案 0 :(得分:3)

您可以添加字词边界\<\>来匹配和替换以下函数中的确切字词:

function! FindAndReplaceAll(from, to)
  exec '%s/\<' . a:from . '\>/' . a:to . '/g'
endfunction