题目链接

Line under headers

题目说明

转换 Markdown 中的标题格式,另外改下内容。

开始文件

## Headers

## To

## Underline

结束文件

Headers
-------

Are
---

Underlined
----------

最佳分数

25

我的分数

28

dwqqYpVr-jjqCAre<Esc>@qdwAd<Esc>@qZZ

第一次尝试

直接改试试。

dwYpVr-jjCAre<Esc>YpVr-jjdwAd<Esc>YpVr-ZZ

33 分,差 8 分。

第二次尝试

把加下划线的操作录成宏。

dwqqYpVr-jjqCAre<Esc>@qdwAd<Esc>@qZZ

28 分,还差 3 分。

第三次尝试

先把单词都改好了再录宏试试。

/T<CR>CAre<Esc>GAd<Esc>qq0dwYpVr-3kq2@qZZ

30 分,还变多了。

第四次尝试

想不出来怎么优化了。

@andreyrmg

qq0dwYpVr-3wqCAre<Esc>@qAd<Esc>@qZZ

27 分。这宏用的,硬是减了 1 分。重点是 3w,直接跳到标题正文,这样就可以直接把 To 改成 Are 了。

@Lexol4s

GAd<Esc>qq03xYpVr-3BqCAre<Esc>2@qZZ

这个也是 27 分,但从后往前操作,3w 也变成了 3B,思路类似。3x 换成 dw 也一样。

@tandikula

dwG.Ad<Esc>MCAre<Esc>qaYpVr-<C-O>q2@aZZ

这个也是 27 分,但就比较特别了。看起来有些杂乱无章,但用了一个重要的技巧,在宏里用 <C-O> 回到之前的位置。

第五次尝试

那看来最低分也是用宏操作,但不知道怎么优化法。

@harmony_krieg

MSAre<C-End>d<Esc>qabd0YpVr-2bq2@aZZ

26 分。但这个操作我没复现出来。<C-End> 在这里应该是跳到文件末尾,但在我这里不管用,不知道是 Vim 版本问题还是环境问题。

还有用 <C-Home> 的,我这里也复现不出来,就不贴了。那有点麻烦了,现在看不到 25 分的,26 分的又操作不了。可能 25 分的也用了这个组合键。

知道了,是 tmux 把这个组合键吃了,在外边运行就正常了。

那还是分析一下这个操作。先定位到中间一行,改完单词后,直接跳到文件末尾,改完单词,就只剩下改格式的事情了。再录制宏就轻松多了。

第六次尝试

也不用尝试了,直接看吧。

@its_terra

4wCAre<C-End>d<C-Home>3xYpVr-2j<Esc>u3@.ZZ

25 分。果然也用了 <C-End>,还一起用了 <C-Home>。而且又用了 @. 的技巧,把上次插入的文本当宏调用。如果已经在插入模式了,用正常方法录制宏,需要 <Esc>qq ... q,四个按键,而用 @. 的话,只需要 ... <Esc>u 两个按键。但如果在普通模式,前者是 qq ... q,后者是 i ... <Esc>u,就一样了。

最佳操作

@its_terra

4wCAre<C-End>d<C-Home>3xYpVr-2j<Esc>u3@.ZZ

实用操作

@andreyrmg

qq0dwYpVr-3wqCAre<Esc>@qAd<Esc>@qZZ

27 分。

对内容格式的把握以及对宏的灵活使用。

文章目录