我怎样才能vim的closetag插件来为所有的HTML标签工作?
题
我现在用的是closetag.vim插件,但它似乎并没有对所有标签的工作。在插件代码有被忽略的标签VAR包含有一种人,我注意到没有关闭前DD DL,但也有许多人是不在列表中不能工作(P,UL,LI)。
似乎没有什么更新忽略标签的列表之后发生的。
要获得这个插件工作,你只需输入标签文本,然后单击选项卡,对吧?即格
我缺少的东西吗?
解决方案
您是如何安装插件?
我与closetag.vim麻烦,当我在~/.vim/plugins
安装它。然后我把它成~/.vim/scripts
代替,并增加了以下到我.vimrc
:
:let g:closetag_html_style=1
:source ~/.vim/scripts/closetag.vim
和现在对我来说工作正常。我发现,它关闭所有标签(包括那些包含在'忽略名单),但不是那些自闭合(例如<img/>
)。
在我使用脚本(0.9.1)的版本,它<C-_>
定义为触发完成标记。如果您已映射命令<tab>
,那么就应该工作了。
其他提示
我还不能得到这个插件的工作,但在我的情况是什么它最后的工作之前抛出了一些错误消息。举例来说,如果我试图关闭H1标签,我会得到错误Error Detected while processing function GetCloseTag
和错误是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=""
没有做的伎俩,但上面的组合似乎解决它在所有类型的文件给我。
不隶属于 StackOverflow