Everythingとポチエス&ファイラの連携

前置き


Everything search engineで取得したパスを、いろんな仕方で使うためのカスタマイズ。
僕の場合、Everythingは普段使っていないファイルを検索するときに利用している。このとき問題になるのは、そこで取得したパスをどの外部ソフトに投げるかである。
とりあえずおもいつくのは、ポチエスに投げるか、ファイラになげるか。いろいろなところに投げれる、という点を考慮したならポチエスのほうが都合がいいけれども、どうせ普段使っていないファイルで用途なんてたいしてないんだから、一々ポチエスに投げてメニューを表示させるよりも、とりあえずワンキーで慣れているファイラに投げてそこから操作、というのもありといえばあり。僕は、とりあえずファイラに投げる、という使い方をしていた。

このようにしていたのは、Everythingでは、キーバインドが全く効かないと思っていたからである。だからどちらの方法かを選ばないといけない、と考えてこのようにしていた。けれど、Everything.iniとかwikiとかを眺めていて、二つくらいキーバインドで分けることができそうだな、と気づく。具体的には、Ctrl+EnterとEnterの押し分けでパスを投げる外部ソフトを分けることができる。これなら、ファイラに投げるというのと、ポチエスに投げるというのの二つが可能になる。この二つができるのは非常に大きい。

Everything.iniで僕のしたいことに関係のありそうなのが、以下。wikiからコピペ。

explore_folder_command=$exec("%SystemRoot%\explorer.exe" /n,/e,"%1")
explore_folder_path_command=$exec("%SystemRoot%\explorer.exe" /n,/e,/select,"%1")
open_folder_path_command=$exec("%SystemRoot%\explorer.exe" /select,"%1")
open_file_command=$exec("%1")
open_folder_command=$exec("%1")

これは、検索したファイルを右クリックしたときに表示されるメニューに対応している。

開く	→open_file_commandとopen_folder_command
パスを開く	→open_folder_path_command
既定のファイラーで開く →explore_folder_command
既定のファイラーでパスを開く →explore_folder_path_command

である。たぶん。
パスを開くというのがわかりにくいが、エクスプローラーを開くときに、サイドにフォルダツリーを表示するかどうか、の違いらしい。
とにかく、基本キーボードで操作する僕の場合には関係ない。そして、フォルダとファイルの違いも、どうせポチエスで判別するのだから別に区別しないでもいいわけだ。

キーボードに関係するのは、

  • open_folder_path_command
  • open_file_command
  • open_folder_command


の三つ。Ctrl+Enterで、open_folder_path_commandのパスが実行され、Enterで、カーソル下にあるのがフォルダの時にはopen_folder_commandを。ファイルの時にはopen_file_commandのパスが実行される。
open_folder_path_commandにはファイラーを、あとの二つにはポチエスを割り当てる。

あまり、解説サイトとかにのってないのでもしかしたら邪道なのかもしれないが、良しとしよう。
あと、僕は複数のリストのファイルを選択して、ということはやらないので、もしかしたらそういう場合には不具合があるかも知れません。

AHKをかませたい


普通にポチエスとかファイラに渡すだけなら、もうあとは、

open_folder_path_command=$exec("D:\bin\ppw\PPCW.EXE" -r "%1")
open_file_command=$exec("D:\bin\esExt\esExt5.exe" "%1")
open_folder_command=$exec("D:\bin\esExt\esExt5.exe" "%1")

とすればいいだけだ。けれども僕の場合、Everythingは一時的に呼び出すために使う。あくまで補助的な役割でしかない。一時的に開いた後に、ポチエスなりファイラなりになげるという使い方だから、Everythingは一度使ったあと勝手に最小化した方が都合がいい。
Everythingを一度使ったあと再び最小化させるためにAHKをかませる。

ポチエス+AHK

Run,D:\bin\esExt\esExt5.exe "%1%"
WinWaitClose,ahk_class esExt5
WinWaitActive,ahk_class EVERYTHING
WinClose,ahk_class EVERYTHING
return

これを、Everything2PochiS.ahkという名前で保存。もちろんAHKがインストールしてあるのは前提ですよ☆ミ
そして、Everythingをいったん終了した後、Everything.iniの先の項目に次のように書く。

open_file_command=$exec("D:\data\Autohotkeyfile\Everything2PochiS.ahk" "%1")
open_folder_command=$exec("D:\data\Autohotkeyfile\Everything2PochiS.ahk" "%1")


そして、Everythingを再び起動。すると、リストのパスを選択してEnterを押したときに、ポチエスが起動するようになる。ポチエスが起動して選択をするまでは、Everythingも消えないが、いったん選択するとEverythingが最小化するようにしている。

ちなみに、僕はEverything用のポチエスは、Everythingの窓の真ん中に来るように設定している。それには、ポチエスのiniで、
@menu=active
とすればいい。

また、ポチエスは普通使っているのとほぼ変わりないが、パスのコピーを登録できるようにしている。このパスの取得もキーバインドで一発でできたら完璧なんだけどね。ま、普通にポチエスの下の方に登録するのでいいや。

PPx+AHK


AHKかますことによって、PPxにパスを飛ばした後最小化するようにしている。

Run,D:\bin\ppw\PPCW.EXE -r "%1%"
WinClose,ahk_class EVERYTHING

というのをテキストファイルでつくり、Everything2PPx.ahkという名前で保存。Everything.iniで、

open_folder_path_command=$exec("D:\data\Autohotkeyfile\Everything2PPx.ahk" "%1")

とする。これで、Everythingで選択したファイルやフォルダを選択してCtrl+Enterを押したときに、PPxで起動するようになる。
PPx以外のファイラで開きたいのなら、一行目のD:\bin\ppw\PPCW.EXE -r "%1%"を変えるといい。
例えば、あふで開きたいのなら、一行目をRun,"D:\bin\afxw\AFXW.EXE" -p"%1"とする。

そのうち、fenrirとEverythingの連携とか、AHKの導入の仕方の簡単な解説とか書けたらいいな、と思ってます。
今日はここまで!
じゃあね(^o^)ノシ