Vimでゼロパディングのインクリメント

Vimでゼロパディングされた数値をインクリメント(C+a)するときに、「001」とかの数値は8進数になるらしく、デフォルトでは「007」の次が「010」になってしまって困った。で、Google先生に聞いたら解決方法があった。

8進数を除去

nrformats(nf)で、インクリメントで使用するフォーマットを指定できる模様。アルファベットのインクリメントもできるみたい。

set nf=alpha,hex                 " インクリメント対象から8進数を除去

普段8進数なんて全く使わないので、アルファベットと16進数(と10進数)だけ指定して.vimrcに書いとこう。


vimで<Ctrl-A>や<Ctrl-X>を使って数値をインクルメントする時に陥りがちな罠 - Guyon Diary