まくまくVimノート
カーソル位置の数字をインクリメント/デクリメントする
2008-11-12

カーソル位置の数字をインクリメント/デクリメントする

increment1.gif

数字を表すテキストにカーソルを合わせて CTRL-A と入力すると、その数値をインクリメントする(数字を1つ増やす)ことができます。 逆に CTRL-X でデクリメントする(数字を1つ減らす)ことができます。

  • CTRL-A: カーソル位置の数値をインクリメントする
  • CTRL-X: カーソル位置の数値をデクリメントする

数値のプレフィックスに 0 が付いていれば 8 進数、0x0X が付いていれば 16 進数とみなしてインクリメント/デクリメントしてくれます。 例えば、10進数、8進数、16進数と思われる数値は、それぞれ下記のようにインクリメントされます。

  • 1718
  • 017020
  • 0xFF0x100

CTRL-ACTRL-X コマンドのプレフィックスとして数値を与える(先に数値を入力する)と、その数値分だけ足したり引いたりすることができます。

選択範囲の数字をまとめてインクリメント/デクリメントする

SHIFT-VCTRL-V のビジュアルモードで選択した範囲にある数値をまとめてインクリメントすることもできます。 下記のデモでは、SHIFT-V で複数行を選択してから、CTRL-A で複数の数値をまとめてインクリメントしています。

increment2.gif

応用例として、CTRL-A と入力する前に g を入力しておくと、次のようにそれぞれの数値に足される数自体がインクリメントされていきます。 連番からなる数値の羅列を作りたいときに便利です。

increment3.gif

2008-11-12