Как сделать файл с расширением .pt, с выделением синтаксиса XML и плагином Vim Snipmate Load Pt.Snippets?
Вопрос
У меня есть следующее в моем .vimrc
:
au BufNewFile,BufRead *.pt set filetype=xml
Это необходимо, потому что, хотя я редактирую файл с *.pt
Расширение, это действительно действительный XML -файл: настройка FileType, как этот, я могу иметь синтаксис.
я использую плагин vim's snipmate, и попытались создать Pt.snippets для конкретных потребностей, поскольку эти файлы являются шаблонами страницы Zope (ZPT с TAL).
Теперь у меня есть проблема: я не хочу создавать эти фрагменты в XML.Snippets, так как они на самом деле не общие фрагменты XML, но мои *.pt
Файлы устанавливаются на XML, поэтому, когда я определяю свои фрагменты PT, они не загружаются, если я запускаю :set filetype=pt
На моем PT -файле на VIM - но затем я теряю выделение синтаксиса.
Я хотел бы иметь возможность иметь PT -файл с выделением синтаксиса XML, чтобы иметь возможность загрузить файл PT.Snippets из Snipmate. Как мне это сделать?
(Я хотел бы не помещать свои фрагменты в общий файл фрагментов, я бы хотел, чтобы они присутствовали только в Pt.snippets, чтобы быть проще поддерживать.)
Решение
Snipmate допускает пунктированный синтаксис «filetype», попробуйте:
au bufnewfile, bufread *.pt set filetype = xml.pt
Другие советы
Синтаксис, как известно, финникен тем, что не желает поддерживать два одновременных филетипов (на самом деле кто -то вчера задал тот же вопрос)
au BufRead *.pt set filetype=xml.pt
au BufNewFile *.pt set filetype=xml.pt
Ответ Джинфилда на самом деле точен, но у меня был запятый синтаксис в некоторых версиях Vim
Как насчет?:
autocmd BufNewFile,BufRead *.pt setlocal filetype=pt
autocmd BufNewFile,BufRead *.pt setlocal syntax=xml