Vim 搜尋取代 替換成 遞增的數字

有一連串的陣列,想要設定遞增的數字,透過 Vim 如何做呢?

Vim 搜尋取代 替換成 遞增的數字

範例:

  1. <?php
  2. $t[] = 1;
  3. $t[] = 2;
  4. $t[] = 3;
  5. $t[] = 4;
  6. $t[] = 5;
  7. $t[] = 6;
  8. ?>

想要對 2~7 行的 [ 換成 [1, [2, [3... 如下範例:

  1. <?php
  2. $t[1] = 1;
  3. $t[2] = 2;
  4. $t[3] = 3;
  5. $t[4] = 4;
  6. $t[5] = 5;
  7. $t[6] = 6;
  8. ?>

可用下述幾種方式

想要對 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

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料