Vimで番号を順番につける方法

New Vim colours
Vimで番号を増加させる方法を紹介します。

photo credit: jasonwryan via photopin cc



数を増加させるショートカット


C-aで数字を増加することができます。そして、 q?qで記録と終了ができます。この機能を組み合わせることで、番号を増加させることができます。

入力 変換前 変換後
qayypt+<C-a>$<C-a>q6@a =c1+d2 =c1+d2
=c2+d3
=c3+d4
=c4+d5
=c5+d6


参考 :
Vim-Tips ~数の増減を行うショートカット



縦に連番を入力する


例えば、以下の様な記述があったとします。

fuga[0]
fuga[0]
fuga[0]



これを以下のようにしたい場合、

fuga[0]
fuga[1]
fuga[2]



以下の設定ファイルを書き、 数字を選択したあと、 3coとします。

nnoremap <silent> co :ContinuousNumber <C-a><CR>
vnoremap <silent> co :ContinuousNumber <C-a><CR>
command! -count -nargs=1 ContinuousNumber let c = col('.')|for n in range(1, <count>?<count>-line('.'):1)|exec 'normal! j' . n . <q-args>|call cursor('.', c)|endfor



すると、縦に連番を入力することができました。

ちなみに、先頭が0でも10進数として扱うには、設定ファイルに以下を書きます。

set nrformats-=octal


参考 :
vimのカスタマイズとTips ~縦に連番を入力する