如何制作一个带有 .pt 扩展名的文件,带有 xml 语法突出显示和 vim 插件 snipmate 加载 pt.snippets?
我的 .vimrc
中有以下内容:
au BufNewFile,BufRead *.pt set filetype=xml
这是必需的,因为虽然我正在编辑带有 *.pt
扩展名的文件,但它确实是一个有效的 xml 文件:设置文件类型像这样我可以有语法突出显示。
我正在使用 vim 的 snipmate 插件,并尝试创建 pt.由于这些文件是 Zope 页面模板(带有 TAL 的 ZPT),因此可以根据特定需求编写片段。
现在,我有一个问题:我不想在 xml.snippets 中创建这些片段,因为它们并不是真正通用的 xml 片段,但我的 *.pt
文件设置为 xml,所以当我定义 pt 片段时,除非我在 vim 上的 pt 文件上运行 :set filetype=pt
,否则它们不会加载 - 但随后我会丢失语法突出显示。
我希望能够拥有一个带有 xml 语法突出显示的 pt 文件,以便能够从 snipmate 加载 pt.snippets 文件。我该怎么做呢?
(我想避免将我的片段放入通用片段文件中,我希望它仅存在于 pt.snippets 中,以便更容易维护。)
I have the following in my .vimrc
:
au BufNewFile,BufRead *.pt set filetype=xml
This is needed because although I'm editing a file with *.pt
extension, it's indeed a valid xml file: setting the filetype like this I can have syntax highlighting.
I'm using vim's snipmate plugin, and tried to create pt.snippets to specific needs since these files are Zope Page Templates (ZPT with TAL).
Now, I have a problem: I don't want to create these snippets in xml.snippets, since they aren't really generic xml snippets, but my *.pt
files are set to xml, so when I define my pt snippets they aren't loaded unless I run :set filetype=pt
on my pt file on vim - but then I lose syntax highlighting.
I would like to be able to have a pt file, with xml syntax highlighting, to be able to load a pt.snippets file from snipmate. How can I do it?
(I would like to avoid putting my snippets in a generic snippet file, I would like it to be present only in pt.snippets to be easier to maintain.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
语法因不想支持两种并发文件类型而臭名昭著(实际上,昨天有人问了同样的问题)
jinfield 的答案实际上是正确的,但我在某些版本的 vim 上遇到了逗号语法失败的情况
the syntax is notoriously finnicky for not wanting to support two concurrent filetypes (actually, someone asked this same question yesterday)
jinfield's answer is actually spot-on, but I have had the comma-syntax fail on some versions of vim
Snipmate 允许使用点“文件类型”语法,尝试:
Snipmate allows for dotted 'filetype' syntax, try:
怎么样?:
How about?: