Как создать файл с расширением.pt, с подсветкой синтаксиса xml и загрузкой плагина vim pt.snippets?

У меня есть следующее в моем .vimrc:

au BufNewFile,BufRead *.pt set filetype=xml

Это необходимо, потому что, хотя я редактирую файл с *.pt Расширение, это действительно правильный файл XML: установка типа файла, как это, я могу иметь подсветку синтаксиса.

Я использую плагин snipmate для vim и пытался создать pt.snippets для конкретных нужд, поскольку эти файлы являются шаблонами страниц Zope (ZPT с TAL).

Теперь у меня есть проблема: я не хочу создавать эти фрагменты в xml.snippets, так как они не являются действительно общими фрагментами XML, но мой *.pt для файлов задан формат xml, поэтому, когда я определяю свои фрагменты pt, они не загружаются, пока я не запускаю :set filetype=pt в моем pt-файле на vim - но тогда я теряю подсветку синтаксиса.

Я хотел бы иметь возможность иметь файл pt с подсветкой синтаксиса xml, чтобы иметь возможность загружать файл pt.snippets из snipmate. Как мне это сделать?

(Я бы не хотел помещать мои фрагменты в общий файл фрагмента, я бы хотел, чтобы он присутствовал только в pt.snippets, чтобы его было проще поддерживать.)

3 ответа

Решение

Snipmate позволяет использовать точечный синтаксис filetype, попробуйте:

au BufNewFile, BufRead *.pt set filetype = xml.pt

Синтаксис общеизвестен из-за нежелания поддерживать два одновременных типа файлов (на самом деле, кто-то задавал этот же вопрос вчера)

au BufRead *.pt set filetype=xml.pt
au BufNewFile *.pt set filetype=xml.pt

Ответ jinfield на самом деле точный, но у меня был сбой синтаксиса запятой в некоторых версиях vim

Как насчет?:

autocmd BufNewFile,BufRead *.pt setlocal filetype=pt
autocmd BufNewFile,BufRead *.pt setlocal syntax=xml
Другие вопросы по тегам