VIMの各単語の中間に1文字を配置します。

VIMの各単語の中間に1文字を配置します。

次のような複数行を含むファイルがあります。

RUS.LEN.8 "0612" "1212" "0605" "0606" "0000" "2121" "0401" "1211" "0000" "0707" "0000" "0000" "1111" "0303" "0303" "0102" "0133" "0602" "0000" "0404" "1212" "1111" "0000" "0101" "0000" "0909" "0103" "1010" "1515" "0000"

VIMを使用して4つの数字ブロックの中央に/を配置したいと思います。どうすればいいのかご存知ですか?

ベストアンサー1

になる061206/12捕獲最初と最後の2つの数字を別々に分割し、置き換えて再結合し、/中央に1つを追加します。:substitute'フラグを使用すると、gこれが適用されます。みんな一行のマッチ。範囲を使用すると、次の:%コマンドが適用されます。すべてバッファの行。

:%substitute#\(\d\d\)\(\d\d\)#\1/\2#g

ノート

  • デフォルトの区切り文字はであり、/文字通り置換にも使用されます。 (\/)をエスケープすることもできますが、より読みやすい方法は別の区切り文字(ここでは#)を使用することです。
  • キャプチャグループ\(...\))は置換で対応する番号として参照されます。\1など\2。望むより:help s/\1
  • 以下で正規表現と構文の詳細を確認できます:help :s

おすすめ記事