2011-12-01 14 views
6

htmlが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ディレクトリ内の他のファイルを調べて、その動作を確認することもできます。

あなたはVimのウェブサイトで入手することができますhtml.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プラグインは、インデントを決定する。そのジャンゴタグは無限で、あなた自身で書くことができるので、予測できないものになる可能性があります。私は、これらのプラグインをどのように活用するのか、正確にはわかりません...その上に、ボディを持つタグは常に{%endwhatever %}終了タグ。私はこれが速い修正であることを望んでいましたが、代わりにそれは私がそれで始めるために非常に精通していないので、それは多くの努力を要するように見えます...しかし、正しい方向に私を操縦してくれてありがとう! – intargc

0

django.vimプロジェクトは代替を含めるための保留pull requestありdjango-custom Steve Loshのvim実装。これは、ほとんどの場合、デフォルトのものより優れています。

関連する問題