Wie erstelle ich eine Datei mit .PT -Erweiterung, mit XML -Syntax -Hervorhebung und VIM -Plugin -Snipmate -Ladept.Snippets?
Frage
Ich habe Folgendes in meinem .vimrc
:
au BufNewFile,BufRead *.pt set filetype=xml
Dies ist erforderlich, denn obwohl ich eine Datei mit bearbeite *.pt
Erweiterung ist in der Tat eine gültige XML -Datei: Festlegen des Filetyps wie dieser kann ich eine Syntax -Hervorhebung haben.
Ich benutze Vims Snipmate -Plugin, und versuchte, pt.snippets für bestimmte Anforderungen zu erstellen, da diese Dateien Zope -Seitenvorlagen sind (ZPT with tal).
Jetzt habe ich ein Problem: Ich möchte diese Snippets in XML.Snippets nicht erstellen, da sie keine wirklich generischen XML -Snippets sind, sondern meine nicht *.pt
Dateien sind auf XML gesetzt. Wenn ich also meine PT :set filetype=pt
Auf meiner PT -Datei auf VIM - aber dann verliere ich die Syntax -Hervorhebung.
Ich möchte eine PT -Datei mit XML -Syntax -Hervorhebung haben, um eine PT.Snippets -Datei von Snipmate zu laden. Wie kann ich es tun?
(Ich möchte vermeiden, dass meine Snippets in eine generische Snippet -Datei gelegt werden. Ich möchte, dass sie nur in Pt. -Snippets vorhanden ist, um leichter zu warten.)
Lösung
SNIPMATE ermöglicht eine gepunktete "Filetype" -Syntax, versuchen Sie es mit:
au bufnewFile, bufread *.pt set Filetype = xml.pt
Andere Tipps
Die Syntax ist notorisch finnisch, weil er zwei gleichzeitige Filetypen nicht unterstützen möchte (tatsächlich hat jemand gestern dieselbe Frage gestellt)
au BufRead *.pt set filetype=xml.pt
au BufNewFile *.pt set filetype=xml.pt
Jinfields Antwort ist tatsächlich genau richtig, aber ich habe die Komma-Syntax in einigen Versionen von VIM scheitert
Wie wäre es mit?:
autocmd BufNewFile,BufRead *.pt setlocal filetype=pt
autocmd BufNewFile,BufRead *.pt setlocal syntax=xml