正規表現を使用してvimからパターンを検索し、正規表現が一致するものを変更せずに何かを挿入するにはどうすればよいですか?たとえば、ファイル内
foo123
bar4567
12zw231xy
数字ではなく、各文字と数字の間に改行文字を挿入して、次のようなファイルを作成したいと思います。
foo
123
bar
4567
12zw
231xy
答え1
:%s/\(\D\)\(\d\)/\1\r\2/g
\(\)
キャプチャグループです。ここでキャプチャされたコンテンツは\1
およびによって複製されます\2
。\D
数字ではなく\d
数字です。\r
Vimで改行文字になります。
これは次のように単純化できます。マジックモード正規表現が有効になっている\v
:
:%s/\v(\D)(\d)/\1\r\2/g