2010-06-08 4 views
0

У меня есть следующий в моих .vimrc:Как создать файл с расширением .pt, с подсветкой синтаксиса xml и загрузкой snipmate плагина vim pt.snippets?

au BufNewFile,BufRead *.pt set filetype=xml 

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

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

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

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

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

ответ

2

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

помощница BufNewFile, BufRead * .pt набор типов файлов = xml.pt

1

Как насчет ?:

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

«setlocal» не работает, но выполняется «autocmd BufNewFile, BufRead * .pt set filetype = pt» работает. Можете ли вы объяснить, почему? –

+0

Я не уверен, почему он не работает для вас. Вышеупомянутые «autocmd вместе с очень простым« pt.snippets », похоже, работают на меня (Vim 7.2, snipMate 0.83). Если вы выполняете приведенные выше команды (только часть «setlocal ...»), работает ли она так, как ожидалось? –

+0

Да, это работает ... но довольно странно, у меня есть цветовая схема с именем «молокай». Когда я запускаю первую команду (filetype = pt), она теряет цветовую схему. Когда я запускаю «синтаксис = xml», он восстанавливает цветовую схему, но вместо molokai я думаю, что он получает стандартный синтаксис vim xml. –

3

синтаксис, как известно, finnicky за нежелание поддерживать два одновременные тип файлов (на самом деле, кто вчера задал этот же вопрос) ответ

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

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

+0

sleepynate, спасибо за ответ. Как ни странно, ответ jinfields работает! Не знаю, почему это было не раньше, я думаю, что я сделал что-то не так ... спасибо в любом случае за предложение для синтаксиса запятой. –

+0

Да, никаких проблем. У меня была такая же проблема с тем, что при попытке использовать как php, так и html-фрагменты в шаблонах CakePHP. – sleepynate