vim-users.jp

Hack #177: neocomplcacheの設定について知る 前編

Posted at 2010/10/17
このエントリーをはてなブックマークに追加

最近、neocomplcacheはかなり有名になってきました。しかし設定項目が多いせいで使いこなせない、という人は後を絶たないようです。ヘルプを見れば解決する訳なのですが、膨大なヘルプをいちいち読んでいられない人も多いことでしょう。ということで、数回に分けてneocomplcacheの設定例について解説したいと思います。ちなみに、ヘルプに書いてあるneocomplcacheの設定例は私の普段使っている設定を元にしたものです。

設定例

今回は、下の設定について一行ずつ解説をしたいと思います。

    " Disable AutoComplPop.
    let g:acp_enableAtStartup = 0
    " Use neocomplcache.
    let g:neocomplcache_enable_at_startup = 1
    " Use smartcase.
    let g:neocomplcache_enable_smart_case = 1
    " Use camel case completion.
    let g:neocomplcache_enable_camel_case_completion = 1
    " Use underbar completion.
    let g:neocomplcache_enable_underbar_completion = 1
    " Set minimum syntax keyword length.
    let g:neocomplcache_min_syntax_length = 3
    let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'

    " Define dictionary.
    let g:neocomplcache_dictionary_filetype_lists = {
        \ 'default' : '',
        \ 'vimshell' : $HOME.'/.vimshell_hist',
        \ 'scheme' : $HOME.'/.gosh_completions'
            \ }

    " Define keyword.
    if !exists('g:neocomplcache_keyword_patterns')
        let g:neocomplcache_keyword_patterns = {}
    endif
    let g:neocomplcache_keyword_patterns['default'] = '\h\w*'

let g:acp_enableAtStartup = 0

AutoComplPopを無効化する設定です。AutoComplPopとneocomplcacheは競合するためです。AutoComplPopがインストールされていない場合は必要ありません。

let g:neocomplcache_enable_at_startup = 1

neocomplcacheを起動時に有効化する設定です。AutoComplPopと違ってneocomplcacheは自動起動しないので、普段使用するにはこの設定が必要です。 そうでないと、毎回:NeoComplCacheEnableを実行しなければいけません。

let g:neocomplcache_enable_smart_case = 1

neocomplcacheのsmart case機能を有効化します。 smart caseは'smartcase'と同様に、大文字が入力されるまで大文字小文字の区別を無視するという機能です。

let g:neocomplcache_enable_camel_case_completion = 1

neocomplcacheのcamel case機能を有効化します。 camel caseは大文字を区切りとしたワイルドカードのように振る舞うという機能です。FAと入力すると、内部ではF*A*のように変換されます。 ただし若干重くなるので私は使っていません。Javaのように大文字を多様した長いキーワードが多い言語に有効です。

let g:neocomplcache_enable_underbar_completion = 1

こちらは_区切りの補完を有効化します。これは便利なことが多いでしょう。

let g:neocomplcache_min_syntax_length = 3

シンタックスをキャッシュするときの最小文字長を3にしています。デフォルトでは4です。 アセンブリ言語のレジスタ名など、短いキーワードもキャッシュしてくれるようになるのでオススメです。

let g:neocomplcache_lock_buffer_name_pattern = ‘*ku*’

neocomplcacheを自動的にロックするバッファ名のパターンを指定します。 ku.vimやfuzzyfinderなど、neocomplcacheと相性が悪いプラグインを使用する場合に設定します。

let g:neocomplcache_dictionary_filetype_lists = {

ファイルタイプ毎にneocomplcacheのディクショナリを設定することができます。 neocomplcacheは'dictionary'も見ますが、こちらを優先します。 g:neocomplcache_dictionary_filetype_listsはcontext filetypeでも参照できるので、できればこちらを設定するべきです。 私はvimshellの履歴ファイルをディクショナリに設定し、簡単にコマンドを入力できるようにしています。

let g:neocomplcache_keyword_patterns['default'] = ‘\h\w*’

キーワードパターンの設定です。 neocomplcacheが対応していない独自の言語を使いたい場合は、これを変更しないといけません。 let g:neocomplcache_keyword_patterns['default']を変更しているのは、 デフォルトが\k\+となっていて、日本語も収集してしまう仕様が個人的に好きではないからです。

Shougo

もどる
blog comments powered by Disqus