vimで連番

            <div class="section">
$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