2011-03-26

Dired で Spotlight コメントの表示、編集、タグ付け

Mac OS X では Spotlight コメント (Finder コメント) にタグを付けてスマートフォルダでファイルの管理ができます。

Spotlight コメントは Finder の「情報を見る」から編集できますが、Emacs 使いなら Dired でマークして一括タグ追加、削除、等と楽がしたいものです。

そんな Elisp パッケージをグーグル検索しても見つからなかったので、自分で書いてみました。

spotlight-comment.el
https://gist.github.com/888153

動作条件

GNU Emacs 22 と 23。 Mac OS X 10.4 以上。

インストール

上の gist から raw をクリックして spotlight-comment.el をダウンロードする。
load-path の通った場所へ置き、以下を ~/.emacs.el~/.emacs.d/init.el に追加。

(require 'spotlight-comment)
(define-key dired-mode-map "\M-c" spotlight-comment-dired-prefix-map)

使い方

キーバインドは何でもいいのですが M-c を例に使えるコマンドを説明すると、

M-c y
Spotlight コメントを表示。 C-u 付きでキルリングにコピー。
M-c e
Spotlight コメントを編集。
M-c D
マークしたファイルの Spotlight コメントを削除。
M-c s
マークしたファイルの Spotlight コメントを上書き。
M-c a
マークしたファイルの Spotlight コメントにタグを追加。
M-c d
マークしたファイルの Spotlight コメントからタグを削除。
M-c m
Spotlight コメントにタグが含まれるファイルにマークを付ける。

その他

  • タグ入力する際には、 TAB での補完が効きます。
    補完候補はミニバッファの履歴と変数 spotlight-comment-user-tags に設定してあるタグです。
    空欄のまま RET でタグ入力が終了します。
  • タグの区切り文字は変数 spotlight-comment-separator で設定し、デフォルトでは ", " (カンマとスペース)。
  • Spotlight コメントは全て Finder によって AppleScript 経由で書き換えられます。
    関数 do-applescript を使っていないので X11版 Emacs や Cocoa Emacs の -nw 起動でも使えるはずです。
  • 設定したタグは Spotlight の検索欄から comment:MyTag で MyTag を持つファイルを表示できます。


動作確認: GNU Emacs 23 (Mac port), Mac OS X 10.6