1

我需要更改几个如下所示的 Django 模板实例:

{% block content %}{{ mycontents }}{% endblock content %}

对此:

{% templatetag openblock %} block content {% templatetag closeblock %}{% templatetag openvariable %} mycontents {% templatetag closevariable %}{% templatetag openblock %} endblock content {% templatetag closeblock %}

我怎样才能构造一个查找和替换命令来做到这一点?我通常将 Vim 用于这种事情,但我对其他替代方案持开放态度。

4

2 回答 2

1

可以使用以下两个替换命令分别转换块和变量内容:

:%s/{%\(.\{-}\)%}/{% openblock %}\1{% closeblock %}/g
:%s/{{\(.\{-}\)}}/{% openvariable %}\1{% closevariable %}/g
于 2012-06-20T02:01:30.983 回答
0

我个人会用宏来做。这只有在“mycontents”都在一行时才有效

保存宏:

:let @q='/{% block wcwtemplatetagw"aciwopenblockf}a block a {% templatetag closeblock %}{% templatetag openvariable %}l2dlf}C{% templatetag closevariable %}{% templatetag openblock %} endblock a {% templatetag closeblock %}'

@q使用

编辑 ooookkkk 我应该猜到从 vim 粘贴特殊字符是行不通的

于 2012-06-20T03:46:47.413 回答