はじめに
vimでインクリメント、連番を簡単に入力出来たらな。って思った事はありませんか。
私は、IPアドレスを連番で入力している時にふと思いました。
そこで、vimのマクロ機能を使えば出来る事が発覚。
早速やってみました。
目標
192.168.1.1
これだけが入力された状態で、各行にIPアドレスが入り、192.168.1.225までの連番を登録出来るようにしてみます。
マクロの登録
vimは、 q の後にアルファベット1文字で、マクロを記録するモードに入ります。
今回は、aという文字に対して登録してみようと思います。
マクロに登録する内容としては、下記のようにしてみます。
- 1行をコピーして、次の行に貼り付ける ->
yyp - 貼り付けた文字列の行末に移動 ->
$ - 数字をインクリメントする ->
Ctrl+a
マクロを使って、255までを入力してみる
登録したマクロは、@+[アルファベット]で利用可能です。
[アルファベット]の部分はマクロを登録するときに指定した、qの後に押した文字になります。
今回は、qaと入力したので、@aと入力すれば、インクリメントされた番号が次の行に貼り付けられます。
マクロは繰り返して使える
@aと入力すると、登録されたマクロを実行しますが、[数字]@a(例えば、5@a)のようにすると、数字で指定した回数分が連続して実行されます。
目的を果たして見る
さて、では最初に目標としていた、192.168.1.1だけ入力された状態から、192.168.1.225までコピペを実現してみます。
コマンドとしては、192.168.1.1の行で、254@aとすれば良さそうです。
↓は実際に実行してみた結果です。

