vimで連番

$hoge[0] =  '';

と入力して、これを元に

$hoge[0] = '';
$hoge[1] = '';
$hoge[2] = '';
$hoge[3] = '';
$hoge[4] = '';
$hoge[5] = '';

と入力するとしよう。
vimで数字を連番に割り振るには下記のようにできるそうです。
[$hoge[0] = 'foo';]の行にカーソルを合わせて以下を入力する。

qayyp[Ctrl+a]q
4@a

コマンドの内容を見ていくと、
qa : aで呼び出せるバッファにqまでの内容を記録する
yy : 1行ヤンク
p : ペースト
[Ctrl+a] : 数値をインクリメント
q : 記録終了
4 : 行数指定(この場合は9行)
@a : バッファに記録した内容を呼び出す
「記録中」ってたまに出てしまって「なんや?」て思ってたけど、
こういう使い方が出来るんですね。

※今までは、yypして1行ずつ書きかえてましたノ(´д`*)
おまけ 行頭に連番ふるならプログラムでも出来るんだ。

:r!php -r 'echo join("\n", range(1, 10));'
:r!ruby -e 'puts (1..10).to_a.join("\n")'

参考

http://subtech.g.hatena.ne.jp/secondlife/20081223/1230023656