我使用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 %}
如何更改此行为?
亲切的问候!
答案 0 :(得分:1)
Jinja插件的缩进脚本只委托默认html
文件类型的缩进方法,请参阅here。
不幸的是,尽管可以使用自定义HTML标记扩展indent/html.vim
,但标记语法<...>
是硬编码的,因此您不能只配置Jinja的{% ... %}
语法。如果你没有为Jinja找到一个特殊的缩进插件,你必须自己写一个/扩展indent/html.vim
。