有一連串的陣列,想要設定遞增的數字,透過 Vim 如何做呢?
Vim 搜尋取代 替換成 遞增的數字
範例:
- <?php
- $t[] = 1;
- $t[] = 2;
- $t[] = 3;
- $t[] = 4;
- $t[] = 5;
- $t[] = 6;
- ?>
想要對 2~7 行的 [ 換成 [1, [2, [3... 如下範例:
- <?php
- $t[1] = 1;
- $t[2] = 2;
- $t[3] = 3;
- $t[4] = 4;
- $t[5] = 5;
- $t[6] = 6;
- ?>
可用下述幾種方式
想要對 2~7 行的 [ 換成 [1, [2, [3...,Vim 取代方式 如下:
- :let i=1 | 2,7g/\[/s//\='['.i/ | let i=i+1
- :let i=1 | 2,7g/\[/s//\='[' . i/ | let i=i+1
- :let i=1 | 2,7g@\[@s@@\='[' . i@ | let i=i+1