basyura's blog

あしたになったらほんきだす。

unite-mdfind

https://github.com/basyura/unite-mdfind

(既に unite-spotlight という同様の plugin あった・・・)

unite-everything を常用しているのだけど、everything が windows でしか動かないので mac 版を作ってみた。mdfind (spotlight) を使った検索結果を表示する。

使い方

:Unite mdfind

または

:Unite mdfind:ディレクトリパス

どちらも -name option で検索する。
後者の場合は指定のディレクトリ配下のファイルだけを検索する (-onlyin option)。

file kind に mdfind action を追加して、その配下のファイルが探しやすくしてみた。または、以下のようにマッピングして呼び出す。

inoremap <silent><buffer><expr> <C-s> unite#do_action('mdfind')

いけてない特徴

  • -name で探しているのでファイル名をあいまい検索できない。ファイルの数が多くないのであれば rec_parent/async の方が扱いやすい。 → あいまいけんさくできたのでデフォルトにした。
  • async じゃない
  • ignore 設定が無い
  • async じゃない分入力が引っかかるので、required_pattern_length を 5 に設定している (unite#custom#profile とかで外からセットできないんだっけか?)