Vim互相替换两个单词

时间:2012-02-14 07:49:44

标签: vim command vi

如何替换所有&f 39; foo'与' bar'和' bar'与'foo'在vim?

4 个答案:

答案 0 :(得分:11)

看看这个:how to write only one pattern to exchange two strings in two-ways in vim

:s/foo\|bar/\={'foo':'bar','bar':'foo'}[submatch(0)]/g

答案 1 :(得分:7)

除了使用临时字词进行更改外,您还可以使用abolish这样的插件:

:%SubVert/{foo,bar}/{bar,foo}/g

答案 2 :(得分:1)

  1. :%S /富/ bbaarr /克
  2. :%S /酒吧/富/克
  3. :%S / bbaarr /富/克
  4. 它必须以最明智的方式存在,但这个肯定会起作用!

答案 3 :(得分:0)

你可以使用临时词来做。请确保它在当前文档中不存在。

/\<asd123\>
:%s/\<foo\>/asd123/g
:%s/\<asd123\>/bar/g
:%s/\<bar\>/foo/g