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-and-replaceコマンドを作成するにはどうすればよいですか?私は通常、この種のことのためにVimを使用しますが、他の選択肢もあります。

4

2 に答える 2

1

次の2つの置換コマンドを使用して、ブロックと変数の内容をそれぞれ変換できます。

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

個人的にはマクロでやります。これは、「mycontents」がすべて1行にある場合にのみ機能します

次のコマンドでマクロを保存します。

: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 に答える