Help us understand the problem. What is going on with this article?

neocomplcache.vim まとめ

More than 5 years have passed since last update.

neocomplcache.vim とは

入力補完機能を提供する Vim のプラグイン。

GitHub で公開されている。
Shougo/neocomplcache.vim

なお、 neocomplcache は "neo-completion with cache" の略。

操作イメージ

文字を入力すると、自動で補完候補が表示される。
(下の絵の水色の文字が補完候補。)

image1.png

文字を入力する毎に、補完候補が絞られていく。

image2.png

そして補完候補を選択すると、 neocomplacache が残りの文字を自動で入力してくれる。

image3.png

導入方法

NeoBundle を導入済みの場合は、まずは以下を .vimrc に記述し、 Vim を起動する。

NeoBundle 'Shougo/neocomplcache'

そしてノーマルモードで以下のコマンドを実行すると、 neocomplcache.vim をインストールできる。

:NeoBundleInstall

設定

以下は、私の .vimrc に書いてある neocomplcache.vim の設定。
neocomplcache.vim の README に書いてある設定をほぼそのまま利用した。

Shougo/neocomplcache.vim

.vimrc
"" neocomplcache
NeoBundle 'Shougo/neocomplcache'
" Disable AutoComplPop.
let g:acp_enableAtStartup = 0
" Use neocomplcache.
let g:neocomplcache_enable_at_startup = 1
" Use smartcase.
let g:neocomplcache_enable_smart_case = 1
" Set minimum syntax keyword length.
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'

" Define dictionary.
let g: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の設定について知る 後編

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした