2012-06-19 2 views
1

Я должен изменить несколько экземпляров шаблонов Django, как это:Найти и заменить для тегов шаблонов Django

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

Для этого:

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

Как я могу построить find- и-замените, чтобы сделать это? Обычно я использую Vim для такого рода вещей, но я открыт для других альтернатив.

ответ

1

Можно использовать следующие две команды подстановки для преобразования блока и содержимого переменной соответственно.

:%s/{%\(.\{-}\)%}/{% openblock %}\1{% closeblock %}/g 
:%s/{{\(.\{-}\)}}/{% openvariable %}\1{% closevariable %}/g 
+0

Обновите теги тегов шаблонов, и у вас будет полный ответ :-) – dusan

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 не будет работать

Смежные вопросы