2014-04-04 59 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中

相關問題