Dur*_*and 37 vim keyboard-shortcuts
在vim等人中,您可以使用CTRLA和增加或减少光标所在的数字CTRLX.但是,这会增加整数,但我想直接在光标下增加数字.这有点难以描述所以这就是我的意思:
Ctrl+A usage, cursor is over the "6":
[6]5 -> 66
What I need:
[6]5 -> 75
or:
3[8]90 -> 3990
Run Code Online (Sandbox Code Playgroud)
我希望这是有道理的.
我已经google了一下,但我不确定是否存在这样的快捷方式,所以任何提示都非常感谢!
rom*_*inl 40
<C-a>并<C-x>处理整数(1位或更多位数)但不处理数字的"部分".然而,它采用"计数",所以10<C-a>变成[6]5成75.
另一种选择,因为你只需要改变一个数字,是做r7转[6]5成75.
我猜3 [9] 42将变为4042(否则,Xavier的解决方案几乎是完美的(*)),我将使用以下内容:
s/\d*\%#\d/\=(submatch(0)+1)
Run Code Online (Sandbox Code Playgroud)
哪个可以映射到:
nnoremap <silent> µ :<c-u>s/\d*\%#\d/\=(submatch(0)+v:count1)<cr>``
Run Code Online (Sandbox Code Playgroud)
为了接受计数.我看到的唯一一个问题就是它无法支持重复(如:h .)
(*)在某种意义上说,重复命令不会帮助我们以相同的数量增加一系列不同的数字.
可能有更好的方法,但你可以创建一个宏或映射到这个的东西:
noremap <LEADER>a a <ESC>h<C-a>lxh
noremap <LEADER>z a <ESC>h<C-z>lxh
Run Code Online (Sandbox Code Playgroud)
它基本上使"65""6 5",增加6并移除空间.可能有一个较短的版本也可以工作.