2009-09-14
FuzzyFinder 3 設定
前バージョンと同じような挙動をするために設定ファイルを変更。とりあえずこんな感じ。
nnoremap :FufBuffer!
nnoremap ef :FufFile!
nnoremap eff :FufFile!
nnoremap efm :FufMruFile!
autocmd FileType fuf nmap
let g:fuf_patternSeparator = ' '
let g:fuf_modesDisable = ['mrucmd']
let g:fuf_mrufile_exclude = '\v\~$|\.bak$|\.swp|\.howm$'
let g:fuf_mrufile_maxItem = 2000
let g:fuf_enumeratingLimit = 20
FuzzyFinder 3
アップデートご苦労様です!プロジェクト名(のディレクトリ名) -> ファイル名 などで曖昧マッチさせていたことが結構あったので、ディレクトリもプライマリでマッチできるオプションがあった方が個人的には嬉しいです。
また、makePartialRegexpPatter で、regexp を使わない方法もあると嬉しいです。というのも、MRU の件数を2000件ほど設定しており、regexp でマッチさせてると重いことが多くて、以前のパッチでは
function! s:IndexOfMatching(str, words)
let s = tolower(a:str)
for word in a:words
if stridx(s, word) == -1
return 0
endif
endfor
return 1
endfunction
のような、str と words(partialPatter の単語)を投げて regexp に比べ高速化をしてました。ベンチをきちんととってないので正確には解らないのですが、stridx の方では数倍はパフォーマンスが出ていたとおもいます。ので、できたらベタ stridx なマッチ方法も選べると嬉しいです!