neocomplcache.vim とは
入力補完機能を提供する Vim のプラグイン。
GitHub で公開されている。
Shougo/neocomplcache.vim
なお、 neocomplcache は "neo-completion with cache" の略。
操作イメージ
文字を入力すると、自動で補完候補が表示される。
(下の絵の水色の文字が補完候補。)
文字を入力する毎に、補完候補が絞られていく。
そして補完候補を選択すると、 neocomplacache が残りの文字を自動で入力してくれる。
導入方法
NeoBundle を導入済みの場合は、まずは以下を .vimrc に記述し、 Vim を起動する。
NeoBundle 'Shougo/neocomplcache'
そしてノーマルモードで以下のコマンドを実行すると、 neocomplcache.vim をインストールできる。
:NeoBundleInstall
設定
以下は、私の .vimrc に書いてある neocomplcache.vim の設定。
neocomplcache.vim の README に書いてある設定をほぼそのまま利用した。
.vimrc
"" neocomplcache
NeoBundle 'Shougo/neocomplcache'" Disable AutoComplPop.letg:acp_enableAtStartup =0" Use neocomplcache.letg:neocomplcache_enable_at_startup =1" Use smartcase.letg:neocomplcache_enable_smart_case =1" Set minimum syntax keyword length.letg:neocomplcache_min_syntax_length =3letg:neocomplcache_lock_buffer_name_pattern ='\*ku\*'" Define dictionary.letg:neocomplcache_dictionary_filetype_lists = {
\ 'default' : ''
\ }
" Plugin key-mappings.inoremap<expr><C-g> neocomplcache#undo_completion()inoremap<expr><C-l> neocomplcache#complete_common_string()" Recommended key-mappings." <CR>: close popup and save indent.inoremap<silent><CR><C-r>=<SID>my_cr_function()<CR>function!s:my_cr_function()return neocomplcache#smart_close_popup() . "\<CR>"endfunction" <TAB>: completion.inoremap<expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"" <C-h>, <BS>: close popup and delete backword char.inoremap<expr><C-h> neocomplcache#smart_close_popup()."\<C-h>"inoremap<expr><BS> neocomplcache#smart_close_popup()."\<C-h>"inoremap<expr><C-y> neocomplcache#close_popup()inoremap<expr><C-e> neocomplcache#cancel_popup()
上記設定の場合、 insert モードで以下の操作ができる。
キー | 操作 |
---|---|
<Tab> | 補完候補の選択。 |
Ctrl + g | 前回行われた補完をキャンセル。補完した文字を消す。 |
Ctrl + l | 補完候補の中から、共通する部分を補完。 |
各設定の意味は、以下のページで詳しく説明されている。
Vim-users.jp - Hack #177: neocomplcacheの設定について知る 前編
Vim-users.jp - Hack #185: neocomplcacheの設定について知る 中編
Vim-users.jp - Hack #193: neocomplcacheの設定について知る 後編
参考
- Vim初心者によるVim導入記録(neocomplcache設定編) | Code Life
- 設定(.vimrc) の説明が分かりやすい