neocomplcache + snipMate をやめて neocomplcache 単体に切り替える
久しぶりに neocomplcache を git pull したら snipMate の multiple snippets*1 に対応していたので、neocomplcache 単体に切り替えてみました。
これで、snipMate_complete.vim は、お払い箱です。
.vimrc に追加した内容
始めに、snipMate の TAB キーを模倣するため、マッピングを追加*2
imap <expr><TAB> neocomplcache#sources#snippets_complete#expandable() ? "\<Plug>(neocomplcache_snippets_expand)" : pumvisible() ? "\<C-n>" : "\<TAB>" smap <expr><TAB> neocomplcache#sources#snippets_complete#expandable() ? "\<Plug>(neocomplcache_snippets_expand)" : pumvisible() ? "\<C-n>" : "\<TAB>"
次に、snippets の保存ディレクトリを snipMate に合わせる*3
let g:neocomplcache_snippets_dir = $HOME . '/.vim/snippets'
最後に、snippets 内で `Filename()` を使いたかったので snipMate から移植
fun! Filename(...) let filename = expand('%:t:r') if filename == '' | return a:0 == 2 ? a:2 : '' | endif return !a:0 || a:1 == '' ? filename : substitute(a:1, '$1', filename, 'g') endf
*1:同じトリガーキーを複数登録できる機能
*2:smap を加えないと、デフォルト値で良い場合に TAB で移動できない
*3:neocomplcache_snippets_dir は、カンマ区切りで複数指定可能