vim gg = G html和jinja2

时间:2013-04-27 17:42:56

标签: vim jinja2

我使用gg=G在vim中重新加载我的文件。我有jinja2模板,其中包含jinja2表达式和html。 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 %}

如何更改此行为?

亲切的问候!

1 个答案:

答案 0 :(得分:1)

Jinja插件的缩进脚本只委托默认html文件类型的缩进方法,请参阅here

不幸的是,尽管可以使用自定义HTML标记扩展indent/html.vim,但标记语法<...>是硬编码的,因此您不能只配置Jinja的{% ... %}语法。如果你没有为Jinja找到一个特殊的缩进插件,你必须自己写一个/扩展indent/html.vim