允许vim snipMate片段在不同的文件类型上工作
我是vim的新手,一直在玩弄配置,这很好。有一件事我还没有弄清楚,那就是如何允许一种类型的文件的代码片段用于另一种类型的文件。就我个人而言,我希望在html文件中使用javascript和javascript jquery片段。以下是我尝试过的:允许vim snipMate片段在不同的文件类型上工作,vim,snipmate,spf13vim,Vim,Snipmate,Spf13vim,我是vim的新手,一直在玩弄配置,这很好。有一件事我还没有弄清楚,那就是如何允许一种类型的文件的代码片段用于另一种类型的文件。就我个人而言,我希望在html文件中使用javascript和javascript jquery片段。以下是我尝试过的: au BufRead,BufNewFile *.html set ft=html.js call ExtractSnipsFile(g:neosnippet#snippets_directory.'javacript-jquery.snippets'
au BufRead,BufNewFile *.html set ft=html.js
call ExtractSnipsFile(g:neosnippet#snippets_directory.'javacript-jquery.snippets','html')
let g:snipMate = {}
let g:snipMate.scope_alias = {}
let g:snipMate.scope_alias['html'] = 'html,javascript,javascript-jquery'
let g:snipMate = {}
let g:snipMate.scope_aliases = {}
let g:snipMate.scope_aliases['html'] = 'html,javascript,javascript-jquery'
我已尝试将这些行放入.vimrc.before.local和.vimrc.local文件中
所有这些似乎都不允许javascript片段在html文件中工作。我最终放弃了,并将所有javascript和javascript jquery代码片段处理到html代码片段文件中。
这就成功了,但我很想知道还有没有别的办法。你就快到了。第一行应该足够获取所需内容,但JavaScript文件的文件类型不是
js
,而是JavaScript
autocmd BufRead,BufNewFile *.html set ft=html.javascript
它还提供js omnicompletion。我以前使用snipmate,这是我的配置:
let g:snipMate = {}
let g:snipMate.scope_aliases = {}
let g:snipMate.scope_aliases.haml = 'javascript'
let g:snipMate.scope_aliases.jade = 'javascript'
let g:snipMate.scope_aliases.markdown = 'html'
let g:snipMate.scope_aliases.javascript = 'javascript.d3,javascript-jquery'
您不必费心设置复合文件类型,也不必指定要为其定义范围别名的文件类型本身。这可以很好地递归工作。因为我们已经为javascript.dr和javascript jquery定义了javascript文件类型到scope\u alias,所以上面的haml文件类型为javascript定义了scope\u alias,也为它定义了javascript的所有scope\u别名。你不必重复你自己
我不确定.vimrc.local或其他文件,我只是把它放在我的.vimrc哦,我差点忘了!SPF13是一个巨大且不必要的垃圾:尽快扔掉它。它也是
g:snipMate.scope\u别名
notscope\u别名