更改vim缩进格式

6
我想要改变在vim中html的缩进方式。我正在进行Django开发,希望每当使用Django模板标签时都能缩进。目前,使用文件类型缩进时,在模板标签后不会缩进。因此,我的代码看起来像这样:
{% do_something %}
<div>
  <p>Hello</p>
</div>
{% end %}

我希望它能将 {% %} 识别为标签,并进行缩进,就像这样:
{% do_something %}
  <div>
    <p>Hello</p>
  </div>
{% end %}

这个有没有文件类型插件,或者我能否将 {% %} 添加到应该缩进的内容列表中?
2个回答

1

当您在HTML文件中使用filetype indent on时,它将使用位于../vim/vim73/indent子目录中的html.vim文件中的缩进规则。

我确定您想要用作下一行缩进信号的括号不会在html.vim中得到处理,因为它们不属于HTML的一部分。您可以修改html.vim中的规则以使其按照您所需的方式完成。

请参阅:h indent-expr获取一些信息,您还需要查看/indent目录中的其他文件以了解其工作原理。

网站上有一个备选的html.vim,也许比随Vim一起发货的html.vim更好: http://www.vim.org/scripts/script.php?script_id=2075


另请参见:https://dev59.com/3FPTa4cB1Zd3GeqPmtBY - user606723
两个HTML插件都期望特定的标签名称来确定缩进。由于Django标记可以是无限的和不可预测的,因为您可以编写自己的标记,所以我不确定如何利用这些插件来实现这一点...除此之外,任何具有主体的标记始终具有{% endwhatever %}闭合标记。我希望这只是一个快速修复,但实际上看起来需要很多努力,因为我一开始并不太熟悉它...感谢您引导我走向正确的方向! - intargc

0

针对django.vim项目,有一个拉取请求等待处理,该请求旨在将Steve Losh的django-custom vim实现作为替代方案加入。总体而言,这个实现比默认的更好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接