【发布时间】:2020-01-15 21:51:47
【问题描述】:
最近发现了 vim。 我有一个格式为
的行列表<title>-<course name>p.<optional space><part number><extra text>.mp4
我想将零件名称放在文件的前面,即它应该像这样结束
p.<part number><title>-<course name><extra text>.mp4
我知道使用编程语言很简单,但我想知道如何在 vim 中做到这一点。 在这条线下面是我到达的地方,但 \1 似乎没有附加该组。
:g/\(p\.\s\=[0-9]*\)/s/^/\1
根据突出显示的内容,我很确定正则表达式是正确的,但我只是想知道我应该如何将它插入到每行的开头。 下面的示例文件名,以防我的解释不清楚:
titleofvideo -coursename p.13-44jq6ano5n0.mp4
我想改成
p.13-titleofvideo -coursename -44jq6ano5n0.mp4
【问题讨论】:
-
我认为最简单的方法是匹配两个部分然后交换它们:
:%s/\v(.*)(p\.\s?\d+)/\2-\1 -
这很好用,谢谢。