vim 生成递增,递减,规律数字
场景
list := List.New()
list.PushBack(0)
list.PushBack(1)
list.PushBack(2)
list.PushBack(3)
list.PushBack(4)
list.PushBack(5)
list.PushBack(6)
...
上面的代码中,我们需要一个个输入0到6,这还能接受,如果需要输入100个呢。代码只是为了说明问题,并不是我们需要这样写
使用vim解决
- 将上面代码改为
list := List.New()
list.PushBack(xxx)
list.PushBack(xxx)
list.PushBack(xxx)
list.PushBack(xxx)
list.PushBack(xxx)
list.PushBack(xxx)
list.PushBack(xxx)
...
- 使用vim输入命令
:let i=0 | g/xxx/s/xxx/\=i/ | let i=i+1
命令解释:
- 首先命令分为三段,
let i=0
,g/xxx/s/xxx/\=i/
,let i=i+1
let i=0
就是最简单的赋值g/xxx/s/xxx/\=i/
,其中s/xxx/\=i/
是一个替换命令
:[range]g/pattern/cmd
对range内所有符合pattern的行执行cmd
let i=i+1
也是一个赋值语句