GNU Emacs に含まれる find-dired.el は指定ディレクトリ以下を find コマンドで検索し、結果を Dired で表示してくれます。
それを Spotlight のコマンドライン版である mdifnd で動くように修正を加えたものが mdfind-dired.el です。
できることは
- Spotlight 検索を Emacs から実行し、その結果を Dired で表示する
- スマートフォルダ (.savedSearch) を Dired で開く
動作環境
GNU Emacs 22 と 23。 Mac OS X 10.4 以上ですが、一部使えないコマンドがあるので 10.5 以上が推奨です。
GNU Emacs 23 と Mac OS X 10.6 でテストしています。
インストール
mdfind-dired.el
https://gist.github.com/900452
gist から raw をクリックし、 mdfind-dired.el
を保存する。
load-path
の通った場所にファイルを置き、以下のコードを ~/.emacs.el
または ~/.emacs.d/init.el
に加える。
(バイトコンパイルは任意です。)
(require 'mdfind-dired) (add-to-list 'auto-mode-alist '("\\.savedSearch\\'" . mdfind-dired-change-to-dired))
キーバインドの設定は hook でします。
(add-hook 'mdfind-dired-hook (lambda () (local-set-key "," 'mdfind-dired-toggle-visibility)))
使い方
mdfind の使い方は man ページ man mdfind
に載っています。
- M-x mdfind-dired
-
mdfind
に生の検索語を入力し、結果を Dired で表示。
検索語は mdfind に渡す前にシェルに渡されるので、" * () & | $ 等の文字はエスケープする必要がある。(他のコマンドではエスケープする必要はない。)
C-u 付きで一つ、または複数のディレクトリを指定し、検索範囲を絞ることができる。
その際、ミニバッファを空欄にして RET を打鍵することで入力を終了する。この挙動は他のコマンドでも同じ。 - M-x mdfind-dired-name (または mdfind-name-dired)
-
Mac OS X 10.5 以上が必要。
mdfind -name
と同じ。ファイル名で検索する。 - M-x mdfind-dired-interpret
-
Mac OS X 10.5 以上が必要。
mdfind -interpret
と同じ。Spotlight メニューに入力する書式がそのまま使える。
例えばkind:image date:"this week"
と入力すると、今週(作成、更新、開いた)の画像を検索。 - M-x mdfind-dired-smartfolder
- スマートフォルダを開く。
- M-x mdfind-dired-toggle-visibility
-
ファイルのディレクトリ部分を「表示 / 隠す」。
mdfind の検索結果はトップディレクトリからのパスであることが多いので、例えば長いパスを
Users/foo/bar/baz/qux/quux/corge/grault/garply/waldo/fred/plugh/xyzzy/thud.txt
このように短縮表示する。
.../thud.txt
デフォルトの「表示 / 隠す」の状態は変数mdfind-dired-default-visible
で設定する。
Spotlight の使い方についてはこれらのページを参照してください。
-
Spotlightを使いこなす! - Part1
http://hajimemasita.blogspot.com/2008/06/spotlight.html -
Spotlightを使いこなす! - Part2
http://hajimemasita.blogspot.com/2008/06/spotlight-part2.html -
これだけは覚えておきたい、Spotlightで使えるメタデータ Best5
http://hajimemasita.blogspot.com/2008/06/spotlight-best5.html -
Spotlight 検索フィールドで条件を指定する
http://docs.info.apple.com/article.html?path=Mac/10.5/jp/15155.html -
Advanced Spotlight Menu Searches
http://hints.macworld.com/dlfiles/spotlight_cmds.pdf -
Query Expression Syntax
http://developer.apple.com/library/mac/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/QueryFormat.html -
Spotlight Metadata Attributes
http://developer.apple.com/library/mac/documentation/Carbon/Reference/MetadataAttributesRef/Reference/CommonAttrs.html
他に Spotlight FS でも似たようなことができます。