如何使用.pt扩展名创建一个文件,使用xml语法高亮显示和vim的插件snipmate加载pt.snippets?

时间:2010-06-08 18:05:25

标签: xml vim plugins zpt snipmate

我的.vimrc中有以下内容:

au BufNewFile,BufRead *.pt set filetype=xml

这是必要的,因为虽然我正在编辑一个扩展名为*.pt的文件,但它确实是一个有效的xml文件:设置这样的文件类型我可以使用语法高亮显示。

我正在使用vim's snipmate plugin,并尝试根据特定需求创建pt.snippets,因为这些文件是Zope页面模板(带TAL的ZPT)。

现在,我遇到了一个问题:我不想在xml.snippets中创建这些片段,因为它们不是通用的xml片段,但我的*.pt文件设置为xml,所以当我定义我的pt片段,除非我在vim上的pt文件上运行:set filetype=pt,否则它们不会被加载 - 但是我失去了语法高亮。

我希望能够使用xml语法高亮显示pt文件,以便能够从snipmate加载pt.snippets文件。我该怎么办?

(我希望避免将我的代码段放在通用代码段文件中,我希望它只存在于pt.snippets中以便于维护。)

3 个答案:

答案 0 :(得分:3)

由于不想支持两个并发文件类型(事实上,昨天有人问过同样的问题),语法非常出类拔萃。

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

jinfield的答案实际上是现场的,但我在某些版本的vim上有逗号语法失败

答案 1 :(得分:2)

Snipmate允许使用点'filetype'语法,尝试:

  

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

答案 2 :(得分:1)

怎么样?:

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