首页  >  问答  >  正文

用vim写django模版中缩进问题

用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中的标签处理呢?

PHP中文网PHP中文网2712 天前651

全部回复(2)我来回复

  • 仅有的幸福

    仅有的幸福2017-05-16 16:45:11

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

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

    回复
    0
  • 迷茫

    迷茫2017-05-16 16:45:11

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

    回复
    0
  • 取消回复