我正在尝试将一堆.textile
个文件转换为等效的.markdown
个文件。
我想要一个vim搜索/替换命令来替换所有h1.
,h2.
,h3.
等模式以及相关数量的#
个字符。因此,h1.
将成为#
,h2.
将成为##
,依此类推。
我认为我想要使用的是\=repeat
命令,但是对于传递它的参数我有点迷失。
这是我到目前为止所拥有的。它取代了正确的匹配,但它只删除它们并给我错误:
:1,$s/h\d./\=repeat('#',submatch(0))
传递给\=repeat
命令的正确参数是什么?
答案 0 :(得分:2)
这一行可以帮到你:
%s/\vh(\d)\./\=repeat('#',submatch(1))
您使用了submatch(0)
,它是整个匹配的字符串:h and number and any char (here you had another problem, you should escape the period )
,因此它不会达到您的预期效果。