記録モードを使って、テスト用の XML データを作ってみた。
<?xml version="1.0" encoding="UTF-8" ?> <items> <item id="0"> <hoge>hoge0</hoge> <foo>foo0</foo> <bar>bar0</bar> </item> </items>
このような XML の、item ノードを、数字をインクリメントしつつ増やすのが要件。
まず item ノードの先頭 (line 4) にカーソルを置き、
qavjjjjjy6jP^Aj0^Aj0^Aj0^Akkk0q10@a
を入力する。やっていることは、ビジュアルモードでヤンクペースト (qavjjjjjy6jP) して、数字をインクリメント (^Aj0^Aj0^Aj0^Akkk0) して、最後に記録されたコマンドを実行 (q10@a) している。^A は CTRL+A を表している。
結果はこうなる。
<?xml version="1.0" encoding="UTF-8" ?> <items> <item id="0"> <hoge>hoge0</hoge> <foo>foo0</foo> <bar>bar0</bar> </item> <item id="1"> <hoge>hoge1</hoge> <foo>foo1</foo> <bar>bar1</bar> </item> ... <item id="11"> <hoge>hoge11</hoge> <foo>foo11</foo> <bar>bar11</bar> </item> </items>
記録されたコマンドはレジスタに入っているので、:reg で確認できる。