问题描述
用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才是良好的缩进。