2016-02-27 85 views
0

我們有一個基本的C代碼,例如;替換Vim中的項目而不替換舊的替換項目

if (a > b && a < c) { 

    min = a ; } 

我也想知道如何更改「<‘S在多頭格局與‘>’和‘>’s的’<」。

但是當我嘗試這樣做時,通常「<」變成「>」,這不是問題;

但之後,當我試圖改變「>」 s的「<」的情況,因爲我再次更改前換的,也就是說,它們成爲他們

之前

因此失敗,則需要立即更改它們,但是,例如,vim終端操作;

:%s/>/< | %s/</> 

不能成功。

我怎麼能實現這個問題?

+3

首先將所有'<'變成先前未使用的字符,然後將'>'更改爲'<',然後將臨時字符更改爲'>'? – EOF

+0

Imm,這很好,我認爲,謝謝 – onurctirtir

+0

@EOF,你可以做出答案,讓OP可以選擇它並關閉問題嗎? – user3629249

回答

3

使用字典映射到它們的替換。試試這個

:%s/\v(\<|\>)/\={'<':'>','>':'<'}[submatch(0)]/g