4

私はvimを初めて使用し、spf13構成で遊んでいます。これは素晴らしいことです。私が把握できていないことの 1 つは、ある種類のファイルのスニペットを別の種類のファイルで使用できるようにする方法です。私の個人的な状況では、javascript および javascript-jquery スニペットを html ファイルで使用したいと考えていました。これが私が試したものです:

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スニペットファイルに対処しました。それはうまくいきましたが、別の方法があれば知りたいです。

4

2 に答える 2

2

以前は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、haml ファイルタイプに対しても javascript ファイルタイプを scope_alias に定義したので、javascript に scope_alias を定義すると、それに定義された javascript のすべての scope_aliases も取得されます。繰り返す必要はありません。

.vimrc.local または他のファイルについてはわかりません。それを .vimrc に入れただけです

于 2014-04-04T05:32:50.200 に答える
2

あなたはほとんどそこにいます。必要なものを取得するには最初の行で十分なはずですが、JavaScript ファイルのファイルタイプは ではなくjsjavascript.

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

js omnicompletion も提供します。

于 2014-04-04T05:18:05.093 に答える