vimで自動補完

ずっとautocomplpopを使っていたのだが、neocomplcacheというのがあるのを知って試してみた。

クイックマッチがすごく便利!補完候補が大量にあるときとかCtrl+n叩きまくる必要がなくなったw
動作がさくさくwいらいらしなくてすむw
helpがしっかりしてるw
いろいろ設定ができてカスタムしやすいw


以上の理由でそく乗り換えました。


.vimrcに追記した設定

" vim起動時にneocomplcacheを起動するか 1:有効 2:無効(初期値)
let g:NeoComplCache_EnableAtStartup = 1
" 入力に大文字が含まれている場合は、大文字・小文字を無視しない 1:有効 2:無効(初期値)
let g:NeoComplCache_SmartCase = 1
" ポップアップメニューで表示される候補の数
let g:NeoComplCache_MaxList = 50
" 単語の出現頻度だけではなく、前の単語とのつながりも考慮して候補の並び替えを行うかどうか 1:有効(初期値) 0:無効
let g:NeoComplCache_PreviousKeywordCompletion = 1
" プレビューウインドウが開いているとき、追加情報を表示するかどうか 1:有効 0:無効
let g:NeoComplCache_EnableInfo = 1
" 大文字を入力したときに、それを単語の区切りとしてあいまい検索を行うかどうか 1:有効 0:無効(初期値)
let g:NeoComplCache_EnableCamelCaseCompletion = 1
" _を入力したときに、それを単語の区切りとしてあいまい検索を行うかどうか 1:有効 0:無効(初期値)
let g:NeoComplCache_EnableUnderbarCompletion = 1
" 補完の対象となるキーワードの最小長さ
let g:NeoComplCache_MinSyntaxLength = 3
" 自動補完を中止するための連続入力時間 初期値0.0
let g:NeoComplCache_SkipInputTime = '0.2'
" 手動補完時に補完を行う入力数
let g:NeoComplCache_ManualCompletionStartLength = 0
" 補完するためのキーワードパターンを記録する(まだよくわかってない)
if !exists('g:NeoComplCache_KeywordPatterns')
    let g:NeoComplCache_KeywordPatterns = {}
endif
let g:NeoComplCache_KeywordPatterns['default'] = '\v\h\w*'
" ユーザが定義したスニペット補完ファイルのパス
let g:NeoComplCache_SnippetsDir = $HOME.'/snippets'

参考:
http://vim-users.jp/2009/07/hack-49/


追記
g:NeoComplCache_KeywordPatternsについてコメントいただいたので。
fileタイプごとの補完キーワードのパターンマッチの設定が行えるものみたい。
.vim/autload/neocomplcache.vimを見るとまんま書いてある。
このままで使えそうです。
例)let g:NeoComplCache_KeywordPatterns['python'] = '\v\h\w*%(\s*\(\)?)?'