2011-12-01 98 views
6

我想添加到在vim中缩进的方式。我正在做django开发,并且我想在每次使用django模板标签时缩进。目前,使用filetype indent,它不会在模板标签后缩进。所以,目前我的代码看起来是这样的:更改vim缩进格式

{% do_something %} 
<div> 
    <p>Hello</p> 
</div> 
{% end %} 

而我愿意为它承认{%}作为标签,缩进像这样:

{% do_something %} 
    <div> 
    <p>Hello</p> 
    </div> 
{% end %} 

有一个插件的这或我可以将{%%}添加到应该缩进的事物列表中的方式?

回答

1

如果您有一个HTML文件的filetype indent on,它将使用文件html.vim中../vim/vim73/indent子目录中的缩进规则。

您希望用作下一行信号缩进的大括号,我敢肯定,不会在html.vim中处理,因为它们不是html的一部分。您可以改变html.vim中的规则以按照您的要求完成它。

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

有一个备用html.vim你可以在VIM网站得到的,也许它比html.vim更好附带的Vim: http://www.vim.org/scripts/script.php?script_id=2075

+0

另请参阅:http://stackoverflow.com/questions/4829244/how-do-i-define-indents-in-vim-based-on-curly-braces – user606723

+0

这两个html插件都需要特定的标签名称确定缩进。由于django标签可以是无限且不可预知的,因为您可以编写自己的标签,所以我不确定如何利用这些插件来做到这一点......最重要的是,任何有身体标签的标签总是有{%endwhatever %}结束标记。我希望这将是一个快速修复,但它看起来会花费很多努力,因为我不是很熟悉这一切开始......感谢指导我在正确的方向! – intargc