2012-06-19 171 views
1

我需要改變的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特殊字符將無法工作