Vim の入力補完プラグインを neocomplcache から neocomplete.vim に移行した

今さらながら、Vim を使う上で個人的に必須プラグインの neocomplcache に、後継の neocomplete.vim があることに気付いた。

neocomplcache はまだ保守されているみたい。でも開発の主軸は neocomple.vim に移っているようなので、遅ればせながら移行することにした。

neocomplete.vim は if_lua 対応 Vim でないと使えないため、まず最新の macvim-kaoriya をダウンロードしてインストール。

この際だし、Vim プラグインの管理も Vundle から NeoBundle に移行してしまおう。

git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim

を実行して NeoBundle をインストールし .vimrc を修正。

if has('vim_starting')
  set nocompatible               " Be iMproved
  set runtimepath+=‾/.vim/bundle/neobundle.vim/
endif

call neobundle#rc(expand('‾/vimfiles/bundle/'))

" Let NeoBundle manage NeoBundle
"  NeoBundleFetch 'Shougo/neobundle.vim'

NeoBundle "neocomplete.vim"

syntax on
filetype on
filetype plugin indent on   " Required!

NeoBundleCheck


" ...(NeoBundleとneocomplete以外の設定は省略)...


"==========================================
"neocomplete.vim
"==========================================
"use neocomplete.
let g:neocomplete#enable_at_startup = 1
" Use smartcase.
let g:neocomplete#enable_smart_case = 1
" Set minimum syntax keyword length.
let g:neocomplete#sources#syntax#min_keyword_length = 3
let g:neocomplete#lock_buffer_name_pattern = '¥*ku¥*'
" Define dictionary.
let g:neocomplete#sources#dictionary#dictionaries = {
      ¥ 'default' : '',
      ¥ 'vimshell' : $HOME.'/.vimshell_hist',
      ¥ 'scheme' : $HOME.'/.gosh_completions'
      ¥ }
" Define keyword.
if !exists('g:neocomplete#keyword_patterns')
  let g:neocomplete#keyword_patterns = {}
endif
let g:neocomplete#keyword_patterns['default'] = '¥h¥w*'
" Plugin key-mappings.
inoremap <expr><C-g>  neocomplete#undo_completion()
inoremap <expr><C-l>  neocomplete#complete_common_string()

MacVim を起動すると確認ダイアログが出て、neocomplete.vim をインストールできた。

neocomplcache のときは MacVim と相性が悪いのか、 日本語を入力しようとしたらローマ字入力に切り替わってしまい、まともに使えなかった。 neocomplete.vim は今のところそういった問題には遭遇せず、快適に使えている。