2014-04-04 56 views
2

我对vim相当陌生,并且一直在玩spf13配置,这非常棒。我无法弄清楚的一件事是如何允许一种类型的文件的片段在另一种文件上使用。在我个人的情况下,我希望在html文件中使用javascript和javascript-jquery片段。这里是我的尝试:允许vim snipMate片段适用于不同的文件类型

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代码片段文件。 这样做的窍门,但我很想知道如果有另一种方式。

回答

2

你快到了。第一行应该足以得到你想要的,但JavaScript文件的文件类型不是js,它是javascript

autocmd BufRead,BufNewFile *.html set ft=html.javascript 

它给你js omnicompletion以及。

+1

哦,我差点忘了! SPF13是一个巨大的和不必要的废话:尽快放弃。 – romainl

0

我曾经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文件类型定义为scope_alias,对于javascript.dr & javascript-jquery,上面的haml文件类型,为javascript定义的scope_alias也获取为其定义的所有scope_aliases。你不必重复自己。

我不确定.vimrc.local或其他文件,我只是把它放在我的.vimrc中

相关问题