neocomplcache.vim 弄り
入力から補完までディレイが欲しかったから neocomplcache.vim をちょっと弄ったメモ。
neocomplcache は入力中に自動で補完候補をだしてくれる凄く便利なプラグイン。
便利だなーと使ってたけど、だんだんとインサートモードで上下移動する際、補完候補をぐるぐると辿り続けるシュールな状態に耐えられなくなった。
インサートモードでカーソル移動すんなって話かもしれないけど。
こんな感じの設定とかしてみたけど、あまし変わらず。
let g:NeoComplCache_EnableSkipCompletion = 1
let g:NeoComplCache_SkipInputTime = '0.5'
なので、ソースを弄ってみた。
autoload/neocomplcache.vim
32 " Auto complete events
33 "autocmd CursorMovedI * call s:complete()
34 autocmd CursorHoldI * call s:complete()
35 set updatetime=500
入力止めて 500 ms で補完表示するようになった。
一応、だいたい期待する動作になったけど set updatetime=500 が周りに影響しそうでやめた。
他にやり方がありそうだナー。
もう少し使い込んでみつつ他のも試してみるかー。
作者さんから頂いたアドバイスを元に
neocomplcache.vim 2.6.1
"------------------------------------------------
" neocomplcache settings
let g:AutoComplPop_NotEnableAtStartup = 1
let g:NeoComplCache_EnableAtStartup = 1
let g:NeoComplCache_SmartCase = 1
let g:NeoComplCache_TagsAutoUpdate = 1
let g:NeoComplCache_EnableInfo = 1
let g:NeoComplCache_EnableCamelCaseCompletion = 1
let g:NeoComplCache_MinSyntaxLength = 3
let g:NeoComplCache_EnableSkipCompletion = 1
let g:NeoComplCache_SkipInputTime = '0.5'
inoremap pumvisible() ? neocomplcache#close_popup()."\" : "\"
inoremap pumvisible() ? neocomplcache#close_popup()."\" : "\"
こんな感じの設定したところシュールな状態は解消され、実に快適になった。
ありがとうございましたー!