unite.vimのfile_rec/gitで候補を省く

unite.vimを使っていてfile_rec/gitのsourceを最近使い始めたのだけど、 ファイル数が35,000近くあって最初に表示する際も絞り込む際にも動作が遅くて困ってた。

なんとか候補をしぼれないのかと思ったら、unite#custom#sourceignore_patternで正規表現を指定すると マッチした候補を省いてくれるというのがわかったので試してみた。

どうもこのリポジトリは画像ファイルが多いみたいなので、画像ファイルを省くようにしてみた。 Vimでバイナリファイルを開く事はそれほど多くないと思う(Vinariseを入れてあるしたまに開くけど)ので表示されない方がいい。

" 画像ファイルを無視する
let s:unite_ignore_patterns='\.\(gif\|jpe\?g\|png\|webp\)$'

call unite#custom#source('file_rec/async', 'ignore_pattern', s:unite_ignore_patterns)
call unite#custom#source('file_rec/git', 'ignore_pattern', s:unite_ignore_patterns)

file_rec/git以外にもfile_rec/asyncにも指定しておいた。

普段は拡張正規表現で書くようにしているので、正規表現(Vimの正規表現?)で構文として扱われるのかエスケープされた文字として扱われるのか 大分混乱したけど、拡張子を省く書き方はこれでいいみたいだ。

これで35,000から6,500近くまで候補が減って速度もかなり改善された。