[VimGolf] 移动逗号
题目链接
题目说明
把逗号移动到恰当的位置。
开始文件
,0,1,2,3,4,5,6,7,89
,1,2,3,4,5,6,7,8,90
,2,3,4,5,6,7,8,9,01
,3,4,5,6,7,8,9,0,12
,4,5,6,7,8,9,0,1,23
56,7,8,9,0,1,2,3,4,
67,8,9,0,1,2,3,4,5,
78,9,0,1,2,3,4,5,6,
89,0,1,2,3,4,5,6,7,
90,1,2,3,4,5,6,7,8,
结束文件
0,1,2,3,4,5,6,7,8,9
1,2,3,4,5,6,7,8,9,0
2,3,4,5,6,7,8,9,0,1
3,4,5,6,7,8,9,0,1,2
4,5,6,7,8,9,0,1,2,3
5,6,7,8,9,0,1,2,3,4
6,7,8,9,0,1,2,3,4,5
7,8,9,0,1,2,3,4,5,6
8,9,0,1,2,3,4,5,6,7
9,0,1,2,3,4,5,6,7,8
最佳分数
12
我的分数
15
<C-Q>Gx$P5j<C-Q>G$x0PZZ
第一次尝试
把第一列的逗号剪切,再粘贴到对应的位置。
<C-Q>4jx6G$.0pggf8pZZ
17 分,差 5 分,有点多。
第二次尝试
能稍微优化一下。
<C-Q>4jx6G$.0pgg$PZZ
16 分,还差 4 分。
第三次尝试
发现可以整列操作。
<C-Q>Gx$P5j<C-Q>G$x0PZZ
15 分,还差 3 分。
第四次尝试
想不到怎么优化了。
@RobinDeMol
d<C-V>M$PMjp$d<C-V>}ZZ
14 分。巧妙地利用了 M
和 }
,刚才我想到了 M
,但没想出来怎么用。d<C->...
这个方法,我之前也没用过。
第五次尝试
继续看吧。
@jkrause314
<C-V><C-E>x6$.0p{$PZZ
13 分。这跳转……都神了。6$
是到到第 6 行的末尾,之前我都不知道。{
可以回到本段第一行,因为这是一个段落。不知道还能怎么优化。网站居然挂了……又好了。
@bbaffalopp
qqxpeq98@qZZ
12 分。用宏实现的,居然能用一个宏从头到尾实现。刚才我也想过用宏,但感觉很麻烦,试了一会就放弃了。xpe
会把第 1 列一直运到倒数第 2 列,但到了第 6 行时,情况发生了变化。因为上次 e
会直接跳到第 2 列。之后的操作会把第 2 列一直运到最后一列。感觉想出这个方法,需要细致的观察和丰富的想象力。
最佳操作
@bbaffalopp
qqxpeq98@qZZ
实用操作
@jkrause314
<C-V><C-E>x6$.0p{$PZZ
13 分。这个操作还是比较通用的,可用于移动比较规律的列数据。
@bbaffalopp
qqxpeq98@qZZ
12 分。这个主要是学习观察和想象了,可举一反三。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。