読者です 読者をやめる 読者になる 読者になる

neocomplcache.vim 弄り

plugin 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()."\" : "\"  

こんな感じの設定したところシュールな状態は解消され、実に快適になった。

ありがとうございましたー!