0

在我的 vim 环境中,我想添加一些仅在编辑mySpecial.html文件时才应该处于活动状态的特定片段。

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

我的问题有什么解决办法吗?

4

3 回答 3

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
于 2014-03-15T12:58:08.047 回答
1

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

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

  1. 将您的自定义片段放入~/.vim/snippets/foo.snippets.
  2. 将以下行添加到您的~/.vimrc

    augroup mySpecialHTML
        autocmd!
        autocmd BufRead,BufNewFile mySpecial.html set filetype=html.foo
    augroup END
    
于 2014-03-15T11:08:22.317 回答
0

我认为你可以为你的mySpecial.html定义一个新的文件类型

au BufRead,BufNewFile mySpcial.html set filetype=myHtml

在该文件类型中,您可以重用 html 高亮组以及您的自定义片段。
这听起来合理吗?

于 2014-03-15T09:47:50.447 回答