読者です 読者をやめる 読者になる 読者になる

覚えられませんっ

元「覚えらんない人のためのオンラインソフト備忘録」。遅ればせながらブログ移行してみた次第。

柔軟カスタマイズに脱帽!-Fenrirその2

さて、Fenrirである。これから記述することは当然readmeとかをちゃんと読めばわかることなのだが、めんどくさくて読みたくないって気持ちも俺には非常によくわかるゆえ、そういう方のためにやや回りくどい説明をするつもりだ。ご了承願いたい。*1

コマンドの編集

Fenrirのインストールフォルダ以下にcmdというフォルダができているはず。Fenrirのコマンドのカスタマイズは、このフォルダにテキストファイルを作ることで行う。一度でもFenrirを起動した場合、0enter.txtと4enter.txtという2つのファイルができていると思う。このenterはenterキーを表す。0とか4は修飾キーを表す。0は修飾キーなしで、1がAlt、2がCtrl、4がShiftでWinが8だ。したがって0enterはEnterキーのみ、4enterはShift+enterを表す。検索結果の任意のファイルにカーソルをあわせた状態でEnterキーを押すと、0enter.txtに記述されたコマンドが実行される。このファイルの中身はデフォルトでは

[.***;
ShellExecute|"%P"
]

となっているが、これは関連付け実行されることを意味している。Enterキーに別のコマンドを割り当てたければこのテキストファイルを書き換えればよい。またたとえばCtrl+Shift+Enterに関連付け実行を割り当てたければ、0enter.txtを「Ctrlを表す2」+「Shiftを表す4」で6enter.txtにリネームすればよい。修飾キーなしのF1に割り当てたいなら0F1.txtだし、Ctrl+eに割り当てたいなら2e.txtと名付ければよい。ただし0すなわち修飾キーなしのコマンドは文字入力されないキーのみに限られる。Fenrirではフォーカスは常に文字列の入力窓(エディット、と呼ばれる)にあるため、単なる文字キーは入力のために使われるからだ。2画面ファイラのように修飾キーなしのcだけでコピー、とかいうわけにはいかないのである。
「一つのキーバインドのためにいちいちテキストファイル一つ作るのって無駄じゃない?」と思われる方もあるだろうが、すくなくともキーの変更が楽、ってのは認めてもらえるだろう。テキストファイルのリネームだけで済むわけだ。そしてもちろんそれだけではない。

最強に強まったコマンドの仕様

昔話になって恐縮であるが、俺はKFというファイラを使っていた。このファイラは設定ファイルであるkrnファイルに記述することによっていくらでもコマンドやメニューを追加することができた。しかし、カスタマイズしまくっていくとkrnファイルはどんどん複雑になっていく。初めのうちはそれも楽しかったのだが、メニューを一カ所だけ変更するのにもかなりの注意や集中力が必要になってしまうようになり、次第に面倒になっていった。そんなときにあふに出会った。あふのすばらしいところは、メニューを設定ファイル内に作らせるのではなく、独立したテキストファイルを読み込ませる形にしているところである。一つのメニューの変更は一つのテキストファイルを編集することで完結する。しくじってもソフト全体の動作に障害がでることはない。Fenrirはさらにその発展形と言える。一つのキーに割り当てるコマンドを一つのテキストファイルにしているわけである。
そしてこのテキストファイルの書式がまたすばらしい。どこがすばらしいかというと、

  1. 拡張子またはパスによって処理内容を変えることができる。すなわち同じEnterキーをテキストファイルのみビュワー起動、その他は関連付け実行、などとすることが可能。
  2. メニューアイテムが一つしかなければメニューを出さずにキーが押された時点で実行、二つ以上ある場合にはメニューを出す。(ただし、Alt+Keyの場合はメニュー不可である。)これでポチエスのように拡張子ごとに複数のアイテムを登録しておき、メニューから選択する、などということが可能になる。メニューが膨大なものになっても1キー1テキスト1メニューであるので設定ファイルが極端に複雑化することがない。
  3. もちろんメニューにもショートカットキーが設定できるので、ツーストロークキーが自在に作れる。

つまり「1.一つのキーに対して2.拡張子やパスごとに違う動作を3.事実上無制限で複数選択できる」ということだ。しかもメニューが出せるので、覚えらんない人=俺の灰色がくすんで黒っていうか茶色っていうか黄土色っていうか何と形容していいかわからなくなっている早い話がとても気持ち悪い色になっているであろう脳細胞にも易しい作りだ。
これほど単純でわかりやすく、しかもユーザーの好きなように好みの深さまで一つのキーに割り当てるコマンドを作り込める仕様はちょっと他に知らない。

俺Fenrir晒し

カスタマイズ途中ではあるが俺のcmdフォルダの中身を一部晒しておこう。

  • 0enter.txt

Enterでポチエスを起動。Fenrirで拡張子ごとのメニューを作っても、当然他のソフトには反映されないわけで、やはりポチエスを呼んでしまった方がよいということで。

[.***;
PochiS|C:\Bin\Launcher\ExtSel\ExtSelL.exe /s=esSysCurrentWindow.ini "%P"
]
  • 0tab.txt

単機能ツール集のcontextMenu.exeを使ってコンテキストメニューを表示。アプリケーションキーはどうも使えないらしいので、KFのキーアサインで慣れていたTabで呼び出すことにした。

[.***;
ContextMenu|C:\Bin\FileUT\Context\ContextMenu.exe /CaretPos "%P"
]
  • 2n.txt

この作者さん、よくソフトにおまけを付けておいてくれる。QuickDirなどはこのおまけによっておそらくは最軽量のホットキーソフトに変身するなど、「どっちがおまけなんですか」みたいな食玩現象を起こしているのだが、Fenrirもおまけ付き。このおまけを使うとおそらく最速でファイルパスが取得できる手段になるだろう。なお、これはomake.zip内のclip.txtからメニューをコピーしただけ。2c.txt(Ctrl+c)には「メニューを出さずにフルパスのコピー」を充て、メニューはCtrl+nで出すことにしている。

[.***;
CopyPath|C:\Bin\FileUT\Fenrir\clip.exe %P
CopyFileName|C:\Bin\FileUT\Fenrir\clip.exe %F
CopyParentPath|C:\Bin\FileUT\Fenrir\clip.exe %D
----------------------------------------
Copy"PathName"|C:\Bin\FileUT\Fenrir\clip.exe "%P"
Copy"ParentPath"|C:\Bin\FileUT\Fenrir\clip.exe "%D"
]
  • 2v.txt

Ctrl+cでフルパスを取得しておくと、単機能ツール集のPasteFile.exeで他のフォルダにファイルの貼り付けが可能になる。これをCtrl+vに割り当て。

[.***;
PasteFile|C:\Bin\FileUT\PastFile\PasteFile.exe /noDialog "%P"
]
  • 0F9.txt

F9キーでCraftLaunchBlueWindにカーソル位置のファイルを登録するメニューを表示。なおCraftlaunchの方の_は通常;に置き換えないと駄目ですので注意。(俺はCraftLaunchの「以降を引数と見なす文字列」を;ではなく_にしているため。)

[.***;
CraftLaunchに登録|C:\Bin\Launcher\CraftLaunch\clnch.exe /ex &SetCommand_"%P"
BlueWindに登録|c:\bin\launcher\bluewind\bluewind.exe /RunSysCommand=3 "%P"
]

このほかCtrl+lとCtrl+rにそれぞれ「あふの左窓で開く」「右窓で開く」、Ctrl+eに「秀丸で開く」、F2にやはり単機能ツール集のrename.exeを登録してある。さすがに「ファイラが不要になる」というところまでは無理にしても、単機能ツール集との組み合わせでかなりのことが可能になる。

FenrirとGoogle Desktop Searchで超快適検索ライフを実現、の予感

そんなわけでこれらのソフトのおかげで俺は最近ファイラを起動する、ということが減ってきている。たとえば以前はエクセルの文書ファイルを開く場合、ファイラで所定のフォルダを開いてファイルを開く、というスタイルだったのが、文書内に使用されている語句をキーにしてGoogle Desktop Searchで検索をかけてしまうか、ファイル名の一部を入力してFenrirから開くことが多くなってきた。そして実際現在の方法の方が早い場合が多いのだ。Fenrirも0.13から起動時に検索語を引数にできるようになり、CraftLaunchからキーワードを入力して開くことも可能になった。次回はCraftLaunchからGoogle Desktop SearchやFenrirに検索語を渡す設定を書き留めておこう。あ、全然技とかないですからね。Sendkeys使うってだけで。あとSleipnirよりKIKIの方がこの用途に向いてる、ってこととか書きます。長々書いて疲労困憊して虚勢モードに戻れなくなっている俺でした。

*1:てか、以下の駄文を読む方がreadme読むよりめんどくさいんじゃねえか、という気がしてしかたがない俺である。