このメソッドがなくなったのは結構インパクトがあったみたいで、一日にして更新されてこの記事も必要なくなってしまいました。せっかくなので残しておきますが、こちらの解決法がずっとスマートです。
Unite をアップデートすると今まで使ってた設定でエラーが出るようになってしまいました。調べてみると、deprecated な(?)一部のメソッドが削除されてしまったようです。
せっかくだから、俺はこの Unite + vim-ref を選ぶぜ! | blog.delphinus.dev
https://blog.delphinus.dev/2010/12/vim-ref-with-unite.html
上記記事に書いた以下の部分を、
" 様々なショートカット call unite#set_substitute_pattern('file', '\$\w\+', '\=eval(submatch(0))', 200) call unite#set_substitute_pattern('file', '^@@', '\=fnamemodify(expand("#"), ":p:h")."/"', 2) call unite#set_substitute_pattern('file', '^@', '\=getcwd()."/*"', 1) call unite#set_substitute_pattern('file', '^;r', '\=$VIMRUNTIME."/"') call unite#set_substitute_pattern('file', '^\~', escape($HOME, '\'), -2) call unite#set_substitute_pattern('file', '\\\@<! ', '\\ ', -20) call unite#set_substitute_pattern('file', '\\ \@!', '/', -30) if has('win32') || has('win64') call unite#set_substitute_pattern('file', '^;p', 'C:/Program Files/') call unite#set_substitute_pattern('file', '^;v', '~/vimfiles/') else call unite#set_substitute_pattern('file', '^;v', '~/.vim/') endif
以下のように修正してください。
" 様々なショートカット call unite#custom#profile('files', 'substitute_patterns', { \ 'pattern': '\$\w\+', \ 'subst': '\=eval(submatch(0))', \ 'priority': 200, \ }) call unite#custom#profile('files', 'substitute_patterns', { \ 'pattern': '^@@', \ 'subst': '\=fnamemodify(expand("#"), ":p:h")."/"', \ 'priority': 2, \ }) call unite#custom#profile('files', 'substitute_patterns', { \ 'pattern': '^@', \ 'subst': '\=getcwd()."/*"', \ 'priority': 1, \ }) call unite#custom#profile('files', 'substitute_patterns', { \ 'pattern': '^;r', \ 'subst': '\=$VIMRUNTIME."/"', \ 'priority': 1, \ }) "call unite#custom#profile('files', 'substitute_patterns', { " \ 'pattern': '^\~', " \ 'subst': escape($HOME, '\'), " \ 'priority': -2, " \ }) call unite#custom#profile('files', 'substitute_patterns', { \ 'pattern': '\\\@<! ', \ 'subst': '\\ ', \ 'priority': -20, \ }) call unite#custom#profile('files', 'substitute_patterns', { \ 'pattern': '\\ \@!', \ 'subst': '/', \ 'priority': -30, \ }) if has('win32') || has('win64') call unite#custom#profile('files', 'substitute_patterns', { \ 'pattern': '^;p', \ 'subst': 'C:/Program Files/', \ 'priority': 1, \ }) call unite#custom#profile('files', 'substitute_patterns', { \ 'pattern': '^;v', \ 'subst': '~/vimfiles/', \ 'priority': 1, \ }) else call unite#custom#profile('files', 'substitute_patterns', { \ 'pattern': '^;v', \ 'subst': '~/.vim/', \ 'priority': 1, \ }) endif
定義済のショートカット(ハイライトした部分)を定義しようとするとエラーが出てしまいましたが、最新版では修正されています。
Pingback: 【unite.vim】set_substitute_pattern は衰退しました(その2) | blog.delphinus.dev