9

vim search-and-replace を使用して、すべての " を ' に、またはその逆に置き換えたいと思います。これを 1 ステップで達成する方法はありますか? 私は次のようなことを考えています:

:s/\("\|'\)/\1=="?':"/

もちろん、\1=="?':"部分はvimで機能するものです。

前もって感謝します!

4

5 に答える 5

17

それは次の場合です:help sub-replace-special

:s/["']/\=submatch(0) == '"' ? "'" : '"'/g

これは 2 つの引用符のいずれかに一致し (簡単な方法で[...]は を使用)、三項演算子を使用して各引用符を反対に変換します。(より複雑なケースでは、辞書検索を使用できます。)

于 2013-06-27T08:48:37.427 に答える
0

おそらく最も怠惰で簡単な方法:

  :%s/'/__/g | %s/"/'/g | %s/__/"/g

1 行にまとめられた 3 つの基本的な手順:

  1. (またはランダムなもの)に変換'します__
  2. "に変換'
  3. __に変換 "

|次に、それらを記号と組み合わせます。

一部のvimウィザードにはより良い解決策があると確信していますが、それは私にとってはうまくいきました。

于 2013-06-27T08:37:04.540 に答える