Как сделать файл с расширением .pt, с выделением синтаксиса XML и плагином Vim Snipmate Load Pt.Snippets?

StackOverflow https://stackoverflow.com/questions/2999980

Вопрос

У меня есть следующее в моем .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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top