快適。「補完候補の自動表示」&「自動選択」&「Enter で補完確定」にしたらめっちゃ快適。eclipse ライクになった(おい)。動作も早くなってる。
気になるのは print (メソッド名)と打って次に改行したい場合に
print()
と補完候補が出て自動選択されてると、改行のつもりが () が入っちゃってアッーってなるところくらい。
キーワードの先頭文字列をちょこっと打って Enter で確定していくのが気持ちいい。設定はこんな感じ。
" 起動時に有効 let g:neocomplcache_enable_at_startup = 1 " snippet ファイルの保存先 let g:neocomplcache_snippets_dir='~/.vim/snippets' " dictionary let g:neocomplcache_dictionary_filetype_lists = { \ 'default' : '', \ 'objc' : $HOME . '/.vim/dict/objc.dict' \ } " 日本語をキャッシュしない let g:neocomplcache_keyword_patterns['default'] = '\h\w*' " 補完候補の数 let g:neocomplcache_max_list = 5 " 1番目の候補を自動選択 let g:neocomplcache_enable_auto_select = 1 " 辞書読み込み noremap <Space>d. :<C-u>NeoComplCacheCachingDictionary<Enter> " <TAB> completion. inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" " C-jでオムニ補完 inoremap <expr> <C-j> &filetype == 'vim' ? "\<C-x>\<C-v>\<C-p>" : "\<C-x>\<C-o>\<C-p>" " C-kを押すと行末まで削除 inoremap <C-k> <C-o>D " C-nでneocomplcache補完 inoremap <expr><C-n> pumvisible() ? "\<C-n>" : "\<C-x>\<C-u>\<C-p>" " C-pでkeyword補完 inoremap <expr><C-p> pumvisible() ? "\<C-p>" : "\<C-p>\<C-n>" " 補完候補が表示されている場合は確定。そうでない場合は改行 inoremap <expr><CR> pumvisible() ? neocomplcache#close_popup() : "<CR>" " 補完をキャンセル inoremap <expr><C-e> neocomplcache#close_popup()
あと、不具合(?)ぽいのがひとつ。Java ソースを補完する場合
System.out.println
を補完しようとすると
System\.out\.println(
ってなる・・・。javascript や ruby は大丈夫っぽい。たいして試してないんだけど。