我需要更改Django模板的几个实例,如下所示:
{% block content %}{{ mycontents }}{% endblock content %}
对此:
{% templatetag openblock %} block content {% templatetag closeblock %}{% templatetag openvariable %} mycontents {% templatetag closevariable %}{% templatetag openblock %} endblock content {% templatetag closeblock %}
如何构建查找和替换来执行此操作?我通常使用Vim来做这种事情,但我愿意接受其他选择。
答案 0 :(得分:1)
可以使用以下两个替换命令来转换块和 可变内容分别。
:%s/{%\(.\{-}\)%}/{% openblock %}\1{% closeblock %}/g
:%s/{{\(.\{-}\)}}/{% openvariable %}\1{% closevariable %}/g
答案 1 :(得分: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粘贴特殊字符是行不通的