23

IntelliJ IDEA で XML ファイルを編集するときに、ドキュメントがスキーマを参照している場合、IDEA はスキーマを取得し、その情報をオートコンプリートに使用します。どのタグがどのコンテキストで有効かを認識しているため、CTRL-スペースを押すと、それらのタグのみが提案されます。また、スキーマに従って無効なタグも強調表示されます。

同様の機能を提供する Vim の拡張機能を知っている人はいますか?

4

3 に答える 3

15

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

試してみてください、それだけの価値があります。上記のリンクの下にすべてが明確に文書化されています。ここではコピーして貼り付けません。

于 2012-08-20T11:24:52.173 に答える
6

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 定義ファイルが含まれています。

于 2008-11-27T03:25:31.557 に答える
1

参照: http://ricardianambivalence.com/2013/02/17/xml-validation-in-vim/

open を使用bar.xmlすると、 に対して簡単に検証できますfoo.xsd。まず、変更を保存してから:、次のように入力します (端末コマンドへのパイプです)。

:! xmllint --noout --schema foo.xsd bar.xml
于 2013-09-05T07:47:00.173 に答える