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 は、カンマ区切りで複数指定可能