2012-02-14 5 views

답변

7

, 당신은 또한이 같은 abolish 플러그인을 사용할 수 있습니다

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

고마워! 정확히 내가 무엇을 찾고 있었는지. –

1
  1. : % S/foo는/bbaarr/g
  2. : % S/바/foo는/g
  3. %가 S/bbaarr/foo는/g

그것은이 현명한 존재해야합니다 그것을하는 방법 그러나 이것은 확실하게 일할 것이다!

+0

수정 사항 3. : % s/bbaarr/bar/g – Bhaskar

0

임시 단어를 사용하면됩니다. 현재 문서에 존재하지 않는지 확인하십시오. 이외에도 변화를 임시 단어를 사용에서

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

이 한 번 봐 : 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

이것은 약간 더 복잡합니다. 그렇습니다. 그러나 플러그인은 없습니까? 많은 사람들이이를 선호 할 것입니다. –

+0

@JasonMcGhee : 대체 문자열이 "\ ="로 시작하면 나머지는 표현식으로 해석됩니다. – kev

+0

좋아, 바로 거기에 몇 가지 vimfu이야. –