Discussion:
[vim] CheckSyntax xml
(zu alt für eine Antwort)
Georg Pfeiffer
2013-03-17 15:17:26 UTC
Permalink
Lieber Vimler,

ich möchte daß vim beim Bearbeiten einer xml-Datei bei jedem Abspeichern mit
xmllint die Syntax überprüft und mir Fehler ggf. im QuickFix-Fenster
anzeigt, so wie checksyntax.vim das eigentlich verspricht. Allein es tut
nicht, und schickt mir auch keine Fehlermeldung.

Schlimmer noch: Früher hatte ich vim schon mal so weit, daß es mir mit :make
xmllint richtig aufruft und die xml validiert. Allein jetzt erscheint nur
eine seitenlange Ausgabe von xmllint (in der ich nicht hoch scrollen kann).
Wenn ich mir den Aufruf mit 'g<' zurückhole, erscheint

/--------
| :!xmllint --valid --noout 2>&1| tee /tmp/vQ3yTf8/2
\-------

Ich interpretiere das so, daß vim die xmllint aufgerufen, ihm aber den
Dateinamen nicht als Parameter übergeben hat. Das bleibt auch so, nachdem
ich alle checksyntax-, quickfixsigns-, xml- und xmllint-bezogenen Benutzer-
Einstellungen und Dateien eliminiert habe, vim also nach den systemweiten
Voreinstellungen in

/usr/share/vim/vim72/ftplugin/xml.vim
/usr/share/vim/vim72/indent/xml.vim
/usr/share/vim/vim72/syntax/docbkxml.vim
/usr/share/vim/vim72/syntax/xml.vim
/usr/share/vim-scripts/ftplugin/xml.vim
/usr/share/vim/vim72/compiler/xmllint.vim

arbeiten müßte. Wie bekomme ich also vim wieder dazu, xmllint richtig
aufzurufen? Und wie bringe ich CheckSyntax zum Laufen. (Ich vermute, daß
CheckSyntax ebenfalls nur über den falschen xmllint-Aufruf stolpert.)

Die Beteiligten:
ii vim-addon-manager 0.4.3 manager of addons for the Vim
ii vim-common 2:7.2.445+hg~cb94c42 Vi IMproved - Common files
ii vim-doc 2:7.2.445+hg~cb94c42 Vi IMproved - HTML
ii vim-full 1:7.1.314-3+lenny2 Vi IMproved - enhanced vi
ii vim-gnome 2:7.2.445+hg~cb94c42 Vi IMproved - enhanced vi
ii vim-gui-common 2:7.2.445+hg~cb94c42 Vi IMproved - Common GUI files
ii vim-latexsuite 20100129-2 view, edit and compile LaTeX
ii vim-runtime 2:7.2.445+hg~cb94c42 Vi IMproved - Runtime files
ii vim-scripts 20091011 plugins for vim, adding bells
ii libxml2-utils 2.7.8.dfsg-2+squeeze XML utilities
debian stable.

Sorry für die umständliche Beschreibung. Hat jemand einen Tip?
gp
Georg Pfeiffer
2013-03-17 17:59:32 UTC
Permalink
Post by Georg Pfeiffer
Wie bekomme ich also vim wieder dazu, xmllint richtig
aufzurufen? Und wie bringe ich CheckSyntax zum Laufen. (Ich vermute, daß
CheckSyntax ebenfalls nur über den falschen xmllint-Aufruf stolpert.)
Also für die erste Frage habe ich – quick 'n dirty – eine Lösung gefunden.
Ich habe einfach in die /usr/share/vim/vim72/compiler/xmllint.vim in die
Zeile 19 hinter

/---
| CompilerSet makeprg=xmllint\ --valid\ --noout\
\ ------

ein '%' gesetzt. Jetzt validiert :make meine xml-Datei, aber der
Fehlerbericht landet nicht im quickfix-Fenster sondern auf der Kommando-
Konsole, wo er eigentlich nicht hingehört.

Bleiben also die Fragen:
– Wie bekomme ich den Fehlerbericht in das quickfix-Fenster?
– Wie bekomme ich CheckSyntax zum Laufen?

gp
Georg Pfeiffer
2013-03-19 02:49:23 UTC
Permalink
Post by Georg Pfeiffer
– Wie bekomme ich den Fehlerbericht in das quickfix-Fenster?
– Wie bekomme ich CheckSyntax zum Laufen?
Nur falls nochmal jemand danach sucht: Mit »syntastic« funktioniert die lfd.
Syntax-Überprüfung /out of the box/.

http://www.vim.org/scripts/script.php?script_id=2736

gp

Loading...