autocomplpop.vim
ns9tks さんが既につくっていたのか>< 恥ずかしながら知らなかった。オプションとかが充実しててすばらしすぎる。どう考えても life changing
http://www.vim.org/scripts/script.php?script_id=1879
入れた! しかしちょっと気になったので一箇所だけ修正してみた
--- autocomplpop.vim.orig 2007-11-11 16:26:40.000000000 +0900
+++ autocomplpop.vim 2007-11-11 16:22:20.000000000 +0900
@@ -192,7 +192,7 @@
if pumvisible()
" a command to restore to original text and select the first match
- return "\<C-p>\<Down>"
+ return "\<C-p>\<Down>\<C-p>"
elseif a:nRetry > 0
" In case of dividing words by symbols while popup menu is visible,
" popup is not available unless input <C-e> (e.g. 'for(int', 'a==b')オリジナルだと表示されてすぐ C-n だけだと最初の候補を選択してくれない (二回おして最初の候補が補完される)。なんかでも環境によるのかもしれない。うちだとこうするとうまくいく。( VIM - Vi IMproved 7.1 (2007 May 12, compiled Oct 7 2007 05:51:43) ) なんか他の部分となんかなってるのかもしれない。
あとは lazyredraw だけ別設定してチラつきおさえた (Mac の gvim だと hjkl おしっぱのカーソル移動がみえなくなって不便だけど gvim とか滅多につかわないからそんなに不便じゃない) それと ignorecase を一時的に変更できるみたいなのでデフォの ignorecase を元にもどした。
あと、補完候補表示したまま RET おして改行できないので以下のコードを復活させた
inoremap <expr> <CR> pumvisible() ? "\<C-Y>\<CR>" : "\<CR>"