2

gg=Gvimでファイルを再インデントするために使用します。jinja2式とhtmlを含むjinja2テンプレートがあります。にfiletype設定されていjinjaます。を使用するgg=Gと、html get は正しく再インデントされますが、jinja 式は再インデントされません。

実際:

{% for elem in list %}
{% if elem.foo %}
<div>
    <p>foo</p>
</div>
{% else %}
<div>
    <p>bar</p>
</div>
{% endif %}
{% endfor %}

期待される:

{% for elem in list %}
    {% if elem.foo %}
        <div>
            <p>foo</p>
        </div>
    {% else %}
        <div>
            <p>bar</p>
        </div>
    {% endif %}
{% endfor %}

この動作を変更するにはどうすればよいですか?

敬具!

4

1 に答える 1

2

Jinja プラグインのインデント スクリプトは、デフォルトのhtmlファイル タイプのインデント メソッドに委譲するだけです。こちらを参照してください。

残念ながら、indent/html.vimカスタム HTML タグで を拡張することはできますが、タグの構文はハードコーディングされているため、Jinja<...>の構文だけを構成することはできません。{% ... %}Jinja 用の特別なインデント プラグインが見つからない場合は、indent/html.vim自分で作成または拡張する必要があります。

于 2013-04-27T19:32:47.793 に答える