用vim写django模版中缩进问题

浏览:33日期:2023-07-23

问题描述

用vim些django模版时,比如说:

<li> {% if sth %}<p>something</p> {% endif %}</li>

我要求的缩进是上面的样子,但是在vim里会强制自动把'<p>'这一行向前缩进,变成了:

<li> {% if sth %} <p>something</p> {% endif %}</lil>

必须将'<p>'这行输完了,手动改缩进。。

我理解的是,因为这是html文件,所以vim就把它当作普通html缩进格式处理了,而忽略了django中if标签。所以该怎么处理,能够让vim把'{% %}'也当作html中的标签处理呢?

问题解答

回答1:

我可不可以认为你代码中的 {% if * %} 和 <li> 是一个等级的?或者下面这样的写法更符合要求,不会破坏 HTML 的缩进结构。

<li>{% if sth %} <p>something</p>{% endif %}</li>回答2:

在VS2010中的自动缩进为第一种,我倒认为VIM的处理是正确的。因为相对ul来说,li缩进一个tab才是良好的缩进。

相关文章: