Vim命令仅在较长数字字符串中的光标位置增加数字位数?
我有几个例子,我想做以下几点 存档:Vim命令仅在较长数字字符串中的光标位置增加数字位数?,vim,Vim,我有几个例子,我想做以下几点 存档: 1234 当光标位于第一个数字时,我想使用Ctrl-A增加数字,以便 2234 而不是 1235 是否有内部vim命令来执行此操作 否则,我应该设置一个快速脚本: 带前导和尾随空格的环绕数字 按Ctrl-A键进行增量 删除前导空格和尾随空格 像这样,然后映射到一个键?增量函数采用一个前导数字,就像大多数vim命令一样1000 ctrl+a将返回您想要的2234。如果你所有的数字都是4位数,那么这就行了。或者可以使用r2,将光标下的当前字符替换为2,但这
1234
当光标位于第一个数字时,我想使用Ctrl-A增加数字,以便
2234
而不是
1235
是否有内部vim命令来执行此操作
否则,我应该设置一个快速脚本:
像这样,然后映射到一个键?增量函数采用一个前导数字,就像大多数vim命令一样
1000 ctrl+a
将返回您想要的2234
。如果你所有的数字都是4位数,那么这就行了。或者可以使用r2
,将光标下的当前字符替换为2
,但这可能太具体了
如果需要脚本,可以录制宏
qaa[space][esc]h[ctrl+a]lx
细分:
qa
-开始录制q
宏并保存到寄存器a
a[space][esc]
在数字后面添加空格
h
-移回数字
ctrl+a
-添加一个
lx
向右移动并删除空格
您不需要添加前导空格,因为正如您所注意到的那样,
ctrl+a
函数作用于数字作为一个整体,并且总是添加1。您可以通过s=“+1
这样做
然后,您可以将其映射到其他对象,如nnoremap g s=“+1
(您需要使用Ctrl-vCtrl-r将
插入此普通映射中)
一步一步地:
s
-删除光标下的字符并开始插入
=
-开始表达式求值
“
-将未命名寄存器的内容放入
请参阅:帮助i\u CTRL-r以了解有关这些的更多信息
+1
-向值中添加1并完成命令。这里已经讨论过这一点(找不到问题)。它不能比r
更简单、更快(其中
是新的数字)。我将澄清,我想将此想法扩展到宏或脚本,因此,如果我有,比如说100个数据点,我需要更一般的内容,我将编辑问题以反映这一点。yl
步骤是多余的,因为s
删除保存在默认寄存器中的字符。因此,s
Ctrl
+R
=@“+1
输入
Esc
命令就足够了。