Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
允许vim snipMate片段在不同的文件类型上工作_Vim_Snipmate_Spf13vim - Fatal编程技术网

允许vim snipMate片段在不同的文件类型上工作

允许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'

我是vim的新手,一直在玩弄配置,这很好。有一件事我还没有弄清楚,那就是如何允许一种类型的文件的代码片段用于另一种类型的文件。就我个人而言,我希望在html文件中使用javascript和javascript jquery片段。以下是我尝试过的:

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别名
not
scope\u别名