在我的 vim 环境中,我想添加一些仅在编辑mySpecial.html文件时才应该处于活动状态的特定片段。
由于这个文件是一个 html 文件,我希望它具有 html 文件类型。但另一方面,如果我编辑任何其他 html 文件,我不希望特定的片段处于活动状态。所以,似乎我不能为此使用标准文件类型机制。
我的问题有什么解决办法吗?
对于原始 (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
这听起来像是一个有趣的功能请求。
同时,您可以尝试 Carlo 解决方案的这个更简单的变体:
~/.vim/snippets/foo.snippets
.将以下行添加到您的~/.vimrc
:
augroup mySpecialHTML
autocmd!
autocmd BufRead,BufNewFile mySpecial.html set filetype=html.foo
augroup END
我认为你可以为你的mySpecial.html定义一个新的文件类型
au BufRead,BufNewFile mySpcial.html set filetype=myHtml
在该文件类型中,您可以重用 html 高亮组以及您的自定义片段。
这听起来合理吗?