次のような複数行を含むファイルがあります。
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
になる0612
、06/12
捕獲最初と最後の2つの数字を別々に分割し、置き換えて再結合し、/
中央に1つを追加します。:substitute
'フラグを使用すると、g
これが適用されます。みんな一行のマッチ。範囲を使用すると、次の:%
コマンドが適用されます。すべてバッファの行。
:%substitute#\(\d\d\)\(\d\d\)#\1/\2#g
ノート
- デフォルトの区切り文字はであり、
/
文字通り置換にも使用されます。 (\/
)をエスケープすることもできますが、より読みやすい方法は別の区切り文字(ここでは#
)を使用することです。 - 各キャプチャグループ(
\(...\)
)は置換で対応する番号として参照されます。\1
など\2
。望むより:help s/\1
。 - 以下で正規表現と構文の詳細を確認できます
:help :s
。