https://www.vimgolf.com/challenges/9v006233d72d000000000219
启动文件
#!/bin/bash
a = 5
b = 10
sum = $a + $b
echo $sum
mul = $a * $b
echo $mul
结束文件
#!/bin/bash
a=5
b=10
sum=$((a + b))
echo $sum
mul=$((a * b))
echo $mul
==================================
这个问题的击键是 26,但我只得到 41。
我使用它的方式
:%s/ = /=/g
:%s/$a/$((a/g
:%s/$b/b))/g
我不知道如何更多地减少击键。请给我一些建议。
/g
意思是“对行中的每一场比赛进行替换”。每个模式只有一个匹配项,因此/g
s 不是必需的:
:%s/ = /=<CR>
:%s/$a/$((a<CR>
:%s/$b/b))<CR>
您的击键次数减少到 36 次。
见:help :s_g
。
在这种特定情况下,$a + $b
可以与单个模式匹配$.*b
,因此您可以将最后两个替换融合为一个:
:%s/ = /=<CR>
:%s/$.*b/$((&))<CR>
而且您的击键次数减少到 26 次。
见:help s/\&
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句