Как создать файл с расширением.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