Как создать файл с расширением .pt, с подсветкой синтаксиса xml и загрузкой плагина vim pt.snippets? - PullRequest
0 голосов
/ 08 июня 2010

В моем .vimrc есть следующее:

au BufNewFile,BufRead *.pt set filetype=xml

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

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

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

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

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

Ответы [ 3 ]

3 голосов
/ 12 июня 2010

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

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

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

2 голосов
/ 09 июня 2010

Snipmate допускает точечный синтаксис 'filetype', попробуйте:

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

1 голос
/ 09 июня 2010

Как насчет?:

autocmd BufNewFile,BufRead *.pt setlocal filetype=pt
autocmd BufNewFile,BufRead *.pt setlocal syntax=xml
...