使用snipMate,如何仅为mySpecial.html文件添加特定代码段?

时间:2014-03-15 09:35:20

标签: vim snipmate

在我的vim环境中,我想添加一些只在我编辑 mySpecial.html 文件时才能激活的特定代码段。

由于此文件是html文件,我希望它具有html文件类型。但另一方面,如果我编辑任何其他html文件,我不希望特定的片段处于活动状态。所以,似乎我不能使用标准的文件类型机制。

我的问题有解决办法吗?

3 个答案:

答案 0 :(得分:2)

对于原始(Michael Sanders)snipMate,我已经定义了以下命令:

:command! -bar -nargs=1 -complete=filetype AddSnippets silent call ExtractSnipsFile(g:snippets_dir . <q-args> . '.snippets', &l:filetype)

通过这种方式,您可以以交互方式或通过autocmd添加片段:

:autocmd BufRead,BufNewFile mySpecial.html AddSnippets mySpecial

答案 1 :(得分:1)

这听起来像是一个有趣的功能请求。

与此同时,您可以尝试使用Carlo解决方案的这个更简单的变体:

  1. 将自定义摘要放在~/.vim/snippets/foo.snippets
  2. 将以下行添加到~/.vimrc

    augroup mySpecialHTML
        autocmd!
        autocmd BufRead,BufNewFile mySpecial.html set filetype=html.foo
    augroup END
    

答案 2 :(得分:0)

我认为您可以为 mySpecial.html

定义新的文件类型
au BufRead,BufNewFile mySpcial.html set filetype=myHtml

在该文件类型中,您可以重复使用html突出显示组以及自定义代码段 这听起来合理吗?