どのように私はVimのclosetagプラグインは、すべてのHTMLタグのために働くことを得ることができますか?
質問
私はclosetag.vimプラグインを使用していますが、すべてのタグの動作するようには思えません。プラグインのコードでは、私は元のDDのDLを閉じていなかった気づいたいくつかのいずれかが含まれて無視されたタグのVARがありますが、機能していないリストに含まれていない他の多く(P、UL、LI)があります。
は何も無視タグのリストを更新した後に起こるように見えません。
はちょうど、タグのテキストを入力し、タブをクリックし、このプラグインはあなたの仕事を得るために?すなわちDIV
私は何かが足りないのですか?
解決
どのようにプラグインをインストールしたのですか?
私は~/.vim/plugins
でそれをインストールしたときに私はclosetag.vimとのトラブルを持っていました。その後、私は私の~/.vim/scripts
に次の代わりに.vimrc
にそれを移動して、コメントを追加しました:
:let g:closetag_html_style=1
:source ~/.vim/scripts/closetag.vim
今では私のために正常に動作します。私はそれが(「無視」リストに含まれているものを含む)すべてのタグを閉じていることを見つけることではなく、それらの自動閉鎖(例えば<img/>
)であること。
私が使用していたスクリプト(0.9.1)のバージョンでは、タグを完成させるためのトリガーとして<C-_>
を定義します。あなたは<tab>
にコマンドをマッピングしている場合は、それはあまりにも動作するはずです。
他のヒント
私はまた、それが最終的には作業前に、エラーメッセージの数を捨てるん何が私の場合には、このプラグインを動作させることはできません。たとえば、私は、エラーError Detected while processing function GetCloseTag
を取得しますH1タグを閉じようとするとエラーがundefined variable b:UnaryTagsStack
ある場合ます。
それが役に立つプラグインだろうが、それだけで協力しませんように思えます。
私は同じ問題を持っていたnelstromの答えは、上記の私のためにそれを解決しませんでした。どのような私のために働いたことは、私の.vimrcに次の行を追加します:
if !exists("b:unaryTagsStack") || exists("b:closetag_html_style")
if &filetype == "html" || exists("b:closetag_html_style")
let b:unaryTagsStacktack="area base br dd dt hr img input link meta param"
else " for xml and xsl
let b:unaryTagsStack=""
endif
endif
if !exists("b:unaryTagsStack")
let b:unaryTagsStack=""
endif
ちょうどlet b:unaryTagsStack=""
を追加するトリックをしなかった理由を私は知らないが、組み合わせは、上記の私のためにすべての種類のファイルでそれを修正するようです。