たとえば、「Do」という単語で始まるすべての行の前に数字を入れたいとしましょう。コマンドはの:%s/^(Do )/1. \1/
ようになりますが、毎回同じ番号ではなく連続して番号を適用するにはどうすればよいですか?
マクロとCtrl-Aを使用してこれを行う多くの方法をよく知っていますが、より複雑なExモードコマンドで使用するために、タイトルの質問に対する答えを正確に知りたいことに注意してください。
マクロアプローチがそれほど簡単ではない別の例として、「Section」という単語のすべてのインスタンスに番号を追加し、それらに連続番号を付け、「Chapter」で始まる各行の後にカウントを再開したいとします。追加する数を実際に増分することを除いて、これをほぼ実行できるEx-modeコマンドは次のとおりです。
:g/^Chapter/;/^Chapter/-s/Section\zs/ 1/g
Exモードの代替コマンドで数値をインクリメントする簡単な方法が非常に役立つことがわかります。
\=i.
無効な式です。