在IntelliJ IDEA中编辑XML文件时,如果文档引用模式,IDEA将获取模式并使用该信息进行自动完成.它知道哪些标签在哪些上下文中有效,所以当你按CTRL空格时,它只建议那些标签.它还会根据架构突出显示任何无效的标记.
有没有人知道提供类似功能的Vim扩展?
VIM 7+支持默认情况下没有任何插件,它可以加载XML定义,还有转换器用于DTD和SchemaNG:
http://vimdoc.sourceforge.net/htmldoc/insert.html#ft-xml-omni
例如,我的Vim 7.3已经有了XHTML的定义:
$ rpm -ql vim vim-common | grep xml /usr/share/vim/vim73/autoload/xml /usr/share/vim/vim73/autoload/xml/html32.vim /usr/share/vim/vim73/autoload/xml/html401f.vim /usr/share/vim/vim73/autoload/xml/html401s.vim /usr/share/vim/vim73/autoload/xml/html401t.vim /usr/share/vim/vim73/autoload/xml/html40f.vim /usr/share/vim/vim73/autoload/xml/html40s.vim /usr/share/vim/vim73/autoload/xml/html40t.vim /usr/share/vim/vim73/autoload/xml/xhtml10f.vim /usr/share/vim/vim73/autoload/xml/xhtml10s.vim /usr/share/vim/vim73/autoload/xml/xhtml10t.vim /usr/share/vim/vim73/autoload/xml/xhtml11.vim /usr/share/vim/vim73/autoload/xml/xsd.vim /usr/share/vim/vim73/autoload/xml/xsl.vim /usr/share/vim/vim73/autoload/xmlcomplete.vim /usr/share/vim/vim73/compiler/xmllint.vim /usr/share/vim/vim73/compiler/xmlwf.vim /usr/share/vim/vim73/ftplugin/xml.vim /usr/share/vim/vim73/indent/xml.vim /usr/share/vim/vim73/syntax/docbkxml.vim /usr/share/vim/vim73/syntax/xml.vim
尝试一下,这是值得的.在上面的链接中清楚地记录了所有内容,我不会在此处复制粘贴.
我见过的最接近Vim的是XML Completion脚本.
它包含DocBook 4 [234],XSL FO 1.0,XSLT 1.0,Relax NG 1.0,XML Schemas 1.0,SVG 1.1,XHTML 1.1,XInclude 1.0和OpenOffice 1.0 XML格式的XML定义文件.