假设我有这样的意见:
{3:3} abc
{3:4} def hjkl
输出应该是:
{3:2} abc
{3:3} def hjkl
在'}'之前的':'之后的行开头递减数字。
请注意,这应仅适用于选定的可视块,而不适用于整个缓冲区/文件(或行的范围)
答案 0 :(得分:1)
在视觉块中有一种可能的解决方案:
:`<,`>s/:\(\d\+\)}/\=":".(submatch(1) -1)."}"/g
答案 1 :(得分:1)
另一个(甚至更短的)解决方案:
:exe "'<,'>norm 0f:\<C-X>"
但如果您不介意使用 Ctrl - V Ctrl - X 来获取{ {1}},您可以使用以下代码:
^X
其中:'<,'>norm 0f:^X
(来自:help CTRL-X
):
从光标处或之后的数字或字母字符中减去。