增量改变vim中的模式

时间:2013-07-30 05:31:12

标签: vim

是否可以搜索这样的模式:some_name{number}:例如r001。然后逐步增加每个搜索结果数。例如,对于这样的输入:

r001
...
r001
...
r001
...

所需的输出将是:

r002
... 
r003
...
r004

1 个答案:

答案 0 :(得分:3)

以下将使用从2开始的递增数字替换整个文件中的每个数字。

let i=2|g/\v\d+$/s//\=i/|let i=i+1

<强>输出

r2
...
r3
...
r4
...

<强>击穿

let i=2     : Initializes variable i to 2
g/\v\d+$/   : a global command to search for numbers at the end of lines
s//\=i/     : a substitute command to replace the search matches with 
              the contents of i
let i=i+1   : increment i for the next match

剩下要做的就是将命令合并到零填充: Vim: padding out lines with a character