Vim 宏:将行末的数字增加 1

Vim 宏:将行末的数字增加 1

我有一个 csv 文件,其最后一列包含整数或字符“-”。我需要一个执行以下操作的 vim 宏:

If last element of current row is "-":
    Turn "-" to "1"
Else
    Increase the last element of the row by 1

我怎样才能实现这个目标?

答案1

这能达到你想要的效果吗?

:%s/[0-9-]\+$/\=submatch(0)=='-'?1:submatch(0)+1/  

相关内容