2011-12-01 92 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