vim-users.jp

Hack #193: neocomplcacheの設定について知る 後編

Posted at 2011/01/06
このエントリーをはてなブックマークに追加

後編では残りの設定について解説をします。

設定例

    " Shell like behavior(not recommended).
    "set completeopt+=longest
    "let g:neocomplcache_enable_auto_select = 1
    "let g:neocomplcache_disable_auto_complete = 1
    "inoremap <expr><TAB>  pumvisible() ? "\<Down>" : "\<TAB>"
    "inoremap <expr><CR>  neocomplcache#smart_close_popup() . "\<CR>"

    " Enable omni completion.
    autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
    autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
    autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
    autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
    autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags

    " Enable heavy omni completion.
    if !exists('g:neocomplcache_omni_patterns')
        let g:neocomplcache_omni_patterns = {}
    endif
    let g:neocomplcache_omni_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
    "autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete

Shell like behavior(not recommended).

set completeopt+=longest

let g:neocomplcache_enable_auto_select = 1

let g:neocomplcache_disable_auto_complete = 1

inoremap <expr><TAB> pumvisible() ? “\<Down>” : “\<TAB>”

inoremap <expr><CR> neocomplcache#smart_close_popup() . “\<CR>”

neocomplcacheをShellのような手動補完をするようにする設定です。 (not recommended)という文面からも分かる通り、オススメの設定ではありません。 要望が来たので対応させて、設定例として書いたものです。 これを設定すると自動補完が無効になる点に注意してください。

” Enable omni completion.

ここは、Vimに用意されているオムニ補完を有効化するものです。すでに設定されている場合は必要ありません。 neocomplcacheからオムニ補完を呼びたい場合には必要になります。 オムニ補完関数を設定するだけでは実際にはだめで、後述するg:neocomplcache_omni_patternsも同時に設定する必要があります。

” Enable heavy omni completion.

g:neocomplcache_omni_patternsは、neocomplcacheがオムニ補完の関数を呼び出すためのキーワードパターンを設定します。 主な言語にはデフォルトで対応していますが、RubyやPHPなど重いものは無効化されています。 設定例のようにすれば有効化できますが、Vimがフリーズする可能性もあります。自己責任で使用してください。

Shougo

もどる
blog comments powered by Disqus