bgpict2.png 
わかばマークのMacの備忘録
初心者による Mac OSX の便利な使い方や、ソフトウェアの紹介など、Macのこといろいろ。

2023 / 06

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 



http://wakabamac.blog95.fc2.com/blog-entry-644.html

Quicksilver/ ファイル名でSpotlight検索
icn_Quicksilver
Quicksilver : ランチャ+システムの一部のような総合ユーティリティ


個人的にSpotlightでのファイル名検索は、とても使いづらいと感じています。

例えば、Quicksilver の初期設定ファイル「com.blacktree.Quicksilver.plist」にアクセスしたいとき、Finderウインドウのテキストフィールドで「quicksilver」と入力します。
080810qs3

すると、まず「内容」で検索され、「ファイル名」を選択しなければなりません。
また、表示スタイルもその前のFinderウインドウで設定されていたものとなり、アイコンビューやリストビュー、カラムビューなどで、一定しません。

これらでいろいろ操作しても、目当てのファイルにたどり着くのに苦労します。



面倒なので、AppZapper などのアンインストールソフトで、関連ファイルを探し出してアクセスしたりしています。
080810qs4
(虫眼鏡アイコンをクリックすれば、それをFinderで表示する)



080810qs2
それではちょっとアレなので、メニューバーのSpotlightで「filename:quicksilver」と入力すると、望む結果が得られます。
(参考 : 『Macはじめました。: これだけは覚えておきたい、Spotlightで使えるメタデータ Best5』)


これだと、ファイルの種類ごとに整理されて使い易いです。


これで一件落着かと思いきや、横着者の僕はさらに、一々「filename:」と打ち込むのは面倒だと考えます。
それに「filename:」と打ち込んでいる最中にもインクリメンタルサーチされるのが、どうも気に食わない・・・。


そこで前の記事のコマンドラインツール「Cliclick」を使って、ファイル名検索専用のQuicksilverアクションを AppleScript で作ってみました。
(『Quicksilver/ AppleScript で Action を作る(1)』参照)

▽ ScriptEditor で開く
-- Spotlight Search
(*
このスクリプトを実行するには、コマンドラインツールの
Cliclick [http://www.bluem.net/downloads/cliclick-en/]
 usr/bin/ の場所にインストールする必要があります。

また システム環境設定の「ユニバーサルアクセス」パネルで 
「補助装置にアクセスできるようにする」にチェックを入れないと機能しません。
*)

using terms from application "Quicksilver"
    on process text search_word
        set the clipboard to "filename:" & search_word
        (*
        上記の「"filename:" & 」を無くせば、普通のSpotlight検索
        「filename:」のところを
        「kind:」とすれば、指定したファイル形式などの種類で検索
        「date:」とすれば、指定した変更日での検索
        「intext:」とすれば、内容検索
        「comment:」とすれば、Spotlightコメントで検索
                
        『Macはじめました。: これだけは覚えておきたい、Spotlightで使えるメタデータ Best5』
        [http://hajimemasita.blogspot.com/2008/06/spotlight-best5.html] 参照
        *)
                
        tell application "Finder" to set {x_a, y_a, x_b, y_b} to bounds of window of desktop
        do shell script "cliclick " & (x_b - 26) & " 12"
                
        tell application "System Events"
            keystroke "v" using command down
        end tell
                
    end process text
end using terms from


('09/02/04追記)
コマンドラインツールの「Cliclick」を
/usr/local/bin/
など「/usr/bin/」以外の場所に保存している場合は、上記スクリプトの「do shell script」の行を下記のようにして下さい

do shell script "/usr/local/bin/cliclick " & (x_b - 26) & " 12"


AppleScriptでは「/usr/local/bin/」などに保存したコマンドを「do shell script」で実行するときに、そのコマンドのパスを指定しないと実行できないことを最近知りました。

「パスは通ってるはずなのに、どうしてAppleScript上ではコマンドを実行できないのだろう」と悩んだけど、こういうことだった。
(追記おわり)



これを
~/Library/Application Support/Quicksilver/Actions/
の場所に「Spotlight Search.scpt」とか適当な名前で保存して、
Quicksilver を再起動します。
(「Actions」フォルダが無い場合は、その名前で新たに作る)

これで Quicksilver の1stPaneでテキストモード(「. (ピリオド)」でテキストモードになる)にして、検索キーワードを入力し、2ndPaneのActionに先程の「Spotlight Search」を選択して実行します。
080810qs6
(スクリプトファイルにSpotlightのアイコンを貼付けると、それなりに見える)

すると、Spotlightでファイル名検索を開始します。
080810qs5


このActionのスクリプトは、Quicksilver で入力したテキストに「filename:」を付け加え、クリップボードにコピーし、CliclickでメニューバーのSptlightをクリックし、テキストをペーストするようにしています。

※このスクリプトは システム環境設定の「ユニバーサルアクセス」パネルで
補助装置にアクセスできるようにする」にチェックを入れないと機能しません。
071105is4



080810qs7
これを左のようにTriggerに、ショートカットで登録します。

・Object「Spotlight Search.scpt」
・Action「Process Text...
・Arugument「ブランク」

※command+X でカットしてブランクにする

これでTriggerを実行すると、3rdPaneがテキストモードで入力待ちの状態で、Quicksilver のウインドウが開きます。
080810qs8

ショートカットテキスト入力return で実行
Spotlightでファイル名検索

というシンプルな流れでファイル名検索ができます。
(インクリメンタルサーチしないSpotlightのようなもの)
けっこう便利。





また、File Tagging Module を使用している場合、
上記のスクリプトの「filename:」の部分を「comment:@」として使用すると、
タグ(Spotlightコメント)検索が便利になります。
(「@」は File Tagging Module で設定している接頭文字。違うものに設定している場合はそれにする。)

▽ ScriptEditor で開く
-- Tag Search
(*
このスクリプトを実行するには、コマンドラインツールの
Cliclick [http://www.bluem.net/downloads/cliclick-en/]
 usr/bin/ の場所にインストールする必要があります。

また システム環境設定の「ユニバーサルアクセス」パネルで 
「補助装置にアクセスできるようにする」にチェックを入れないと機能しません。
*)

using terms from application "Quicksilver"
    on process text search_word
        set the clipboard to "comment:@" & search_word
        (*
        『Macはじめました。: これだけは覚えておきたい、Spotlightで使えるメタデータ Best5』
        [http://hajimemasita.blogspot.com/2008/06/spotlight-best5.html] 参照
        *)
                
        tell application "Finder" to set {x_a, y_a, x_b, y_b} to bounds of window of desktop
        do shell script "cliclick " & (x_b - 26) & " 12"
                
        tell application "System Events"
            keystroke "v" using command down
        end tell
                
    end process text
end using terms from


('09/02/04追記)
コマンドラインツールの「Cliclick」を
/usr/local/bin/
など「/usr/bin/」以外の場所に保存している場合は、上記スクリプトの「do shell script」の行を下記のようにして下さい

do shell script "/usr/local/bin/cliclick " & (x_b - 26) & " 12"


AppleScriptでは「/usr/local/bin/」などに保存したコマンドを「do shell script」で実行するときに、そのコマンドのパスを指定しないと実行できないことを最近知りました。

「パスは通ってるはずなのに、どうしてAppleScript上ではコマンドを実行できないのだろう」と悩んだけど、こういうことだった。
(追記おわり)



このスクリプトを上記のものと同じように「Tag Search.scpt」とかの適当な名前で保存して、下のように実行します。
080810qs9

すると、Spotlightでタグ(Spotlightコメント)検索」ができます。
080810qs10

よく使う場合には、Triggerに登録しておくといいでしょう。






この記事では Quicksilver B54(3815) を使用しています。


(関連記事)
Quicksilver/ AppleScript で Action を作る(1)
Quicksilver/ AppleScript で Action を作る(2)
Quicksilver/ AppleScript で Action を作る(3)

Quicksilver Plug-in/ File Tagging Module

Quicksilver --- 基本的な概略説明
Quicksilver/ 基本的な使用例
Quicksilver/ Catalogの設定
Quicksilver/ Actionについて(1)
Quicksilver/ Actionについて(2)
Quicksilver/ Actionについて(3)
Quicksilver/ Actionについて(4)- Command Objects
Quicksilver/ Triggers の説明(1)
Quicksilver/ Triggers の説明(2)
Quicksilver/ Plug-ins について
Quicksilver/ Proxy Objects について
Quicksilver/ Triggers の説明(3)- Mouse Triggers
Quicksilver/ Triggers の説明(4)- Abracadabra Triggers
Quicksilver/ ショートカットまとめ

すべてのQuicksilver記事のリンクは『Quicksilver』の(関連記事)にあります。

edit

Quicksilver | CM:6 | TB:0

tag : Quicksilver  Spotlight  AppleScript  検索 

+




spotlight検索 ---------- waterloochant | URL 2008/08/22, 13:18 | edit
自分としては「ファイル名で検索」をデフォルトにしておきたいくらいです。

自分があったらいいなぁと考えているのは「サブフォルダを除く」設定ですが,どうやら無さそうです。

scriptでspotlightをもう少し簡単にさわれるようになると嬉しいのですが。
(Finderで検索条件を保存して「.savedsearch」ファイルを覗いてみたのですが良い案は浮かばず)

QuickSilverも使いこなせていない自分です。

---------- wakaba | URL 2008/08/22, 23:08 | edit
> waterloochant さん、こんばんは。

>自分があったらいいなぁと考えているのは「サブフォルダを除く」設定ですが,どうやら無さそうです。

ごめんなさい、ちょっと意味がよく分からないのですが・・・。



例えば
~/folder_A/folder_B/hoge.txt
という場所に「hoge.txt」というファイルがあるとします。

「folder_A」というフォルダをFinderウインドウで開く。

そのFinderウインドウのテキストフィールドで、「hoge」と入力して検索する。調べる場所を「このMac」じゃなく、“ folder_A”に指定する。

その検索結果で「folder_B」内にある「hoge.txt」はいらない。
「folder_A」内のみでの検索結果が欲しい。



・・・こういうことでしょうか?

もしそうなら、リスト表示などでにして「名前」でソートして、半角英数入力でファイル名の頭の(含む)文字を素早く入力すれば、それを選択できます。
(テキストフィールドに入力するのではなく、単にキー入力)

上の例でいうと「hog」ぐらい入力すれば、該当に近いものをFinderで選択してくれるはずです。(日本語ファイル名は無理)

http://wakabamac.blog95.fc2.com/blog-entry-286.html
ここの【 ファイル名の頭の文字を入力 】


・・・見当違いかな?

---------- waterloochant | URL 2008/08/23, 11:18 | edit
wakabaさん>

丁寧なお返事有り難うございます。
愚痴はスルーしていただいても良かったのですが(笑)

自分がしたかったのはwakabaさんのおっしゃっていることの通りです。

ファイル名に含まれる文字列で絞り込み,一覧表示したいことがあったものですから。(Finderで開いているフォルダの中のファイルだけで)

ちょっとなにやら再び意味のわからない日本語になっているかもしれません。すみません。

spotlightはすごく便利に使っていますが,もっと使いやすくならないかなぁと期待しています。

---------- wakaba | URL 2008/08/23, 21:36 | edit
> waterloochant さん、こんばんは。

内容検索なら、ちょっとやり方は分からないですね。

これ試してみます。 ---------- keizo | URL 2008/08/26, 15:59 | edit
ご無沙汰してます。いや、これ凄いね。ってまだ試していないのですが・・・。Quicksilver の Spotlightモジュールがちゃんと機能してくれなくなって、comment 検索はもっぱらSpotlight でやるんですが、これだと一々 comment や @ などと入力する必要がありませんね。

---------- wakaba | URL 2008/08/26, 23:11 | edit
> keizoさん、こんばんは。

どうもご無沙汰です。
僕の面倒くさがり症がいい方向に働いて、いいものができました(自画自賛)。

メニューバーでの Spotlightの表示は分類分けされてて見易いので、もう Spotlight Module を使わずにこれを使ってます。

それと、ほぼkeizoさん専用だった「はてなスター」をこっそり復活させてます。


管理者にだけ表示を許可する
 

trackback URL