endwise.vim の キーマッピング問題
endwise.vim は doに対して対応するendを補完するVimプラグインです.neocomplcacheのスニペット補完に比べてdoを押してReturnを押した次点でendが自動で補完されるので,シームレスに補完できます.Ruby,VimScript,VBあたりに対応しているようです.vim.orgか,ミラーのgithubリポジトリから落としてインストールできます.
しかし,このスクリプトは内部でキーマッピングを
imap <CR> <CR><Plug>DiscretionaryEnd
のようにして設定しており,自分の環境では
inoremap <expr><CR> pumvisible() ? neocomplcache#smart_close_popup()."\<CR>" : "\<CR>"
と衝突してしまいうまく設定できません.
まず,endwise.vimから上記のimapの行を削除します.次に自動補完を行いたいFileType(自分の場合はRubyだけ)に対して,
autocmd FileType ruby imap <buffer> <expr><CR> pumvisible() ? neocomplcache#smart_close_popup()."\<CR>\<Plug>DiscretionaryEnd" : "\<CR>\<Plug>DiscretionaryEnd"
のように
バッファローカルな設定であることに注意してください.
また,
ちなみに,ソースを直接いじっているので,Vundle.vimなどでendwise.vimを管理しないようにしましょう.
まあ,ver1.0で2008年以降更新がなく,ドキュメントも無いような状態ですので,メンテナンスされることも無さそうですし,プラグイン管理する必要はあまりなさそうです.