ショートカット快適化計画(2)

というわけでレシピをば。


材料(一人分):

この計画のために使用するソフトです。後ろに「()」があるものはそのソフトのジャンルの一般的な名前(のつもり)で、カッコ内にあるものはぼくが実際に使用しているソフト。テキストビューア及びエディタは「メモ帳」でも何でもいいです。「AutoHotkey」も、同じ機能のある別のソフトを知っているならそちらでかまいませんが、以下、AutoHotkeyを使うことを前提に書いてますので、そこだけ注意してください。
概要としては、決まったキーでショートカット一覧を表示する、というごく単純なものです。Windowsの標準的なソフトでは、「F1」キーを押すとマニュアルが表示されるようになっています。ここでもワンタッチでショートカット一覧表示、というお手軽操作を目指します。そのためにAutoHotkeyを使って簡単なスクリプト操作を試みるのですが、そのへんの話は後回しにして、先に必要なものだけ揃えてしまいましょう。


まず手始めに、ショートカット一覧を収めるためのフォルダ(sclist_folder※)をつくってください。とりあえずここでは、Cドライブに「C:\shortcut」でつくることにします。


次に、そのフォルダの中に、よく使うソフトのショートカット一覧のファイルを、テキストファイル形式でつくっていきます。ここでは仮に、「Jane Doe Style」(以下Jane)を例にとって説明します。
Janeを起動した際、メニューの「ヘルプ」からJaneのヘルプを表示させます。……すでに「ショートカットキー一覧」が目に入りましたね(^^; こんなに親切なソフトばかりじゃないので、一般的には、ヘルプファイルの「検索」から「ショートカット」を検索して探すことになります。
そのようにしてショートカット一覧が表示されたら、そのページで「Ctrl+A」(「Ctrl」キーを押しながら「a」を押すことです。以下同様)をすると文字の表示が反転するはずです。その状態で「Ctrl+C」を押し、別に開いているエディタをクリックして、「Ctrl+V」しましょう。……すると、ヘルプの内容がそのままコピーできたはずです。後は、これを自分の見やすい内容に整形しておきます。
中身ができたら、「ソフト名.txt」という書式でファイル名をつけて保存してください。この場合は「Jane Doe Style.txt」になります。ちなみに、ぼくのはこんな感じ。

【Jane Doe Style】global
------------------------------------------------------------
Ctrl+W		スレッドのタブを閉じる
Ctrl+R		スレッドの新着チェック
Ctrl+Enter	2chのURLにジャンプ(アドレス入力)ダイアログ
F4		次のペイン
Shitf+F4	前のペイン
Alt+←		スレ番号ジャンプの「戻る」
Ctrl+X		お気に入りを板として開く
Ctrl+Y		ログ一覧を開く
Shift+Ctrl+N	新着のあるスレッドを一件開く
Ctrl+↓		次のレス↓
Ctrl+↑		前のレス↑
Ctrl+I		ビューアの表示・非表示の切り替え
Ctrl+F		検索バーを開いてフォーカスを当てる

############################################################

【Jane Doe Style - スレッド一覧】
------------------------------------------------------------
Enter		シングルクリックと同じ設定で開く
Delete		ログを削除
Esc		選択解除
Ctrl+F		検索
A		お気に入りに追加
M		印を付ける
O		今のタブで開く
N		新しいタブで開く
H		バックグラウンドで開く
L		URLをコピー
T		タイトルとURLをコピー
S		!ソート
 ・
 ・
 ・

そのような形でいくつかファイルができました。さらにあと二つ、インデックスファイル(sclist_index※)とデフォルトファイル(sclist_default※)をつくります。
インデックスファイルとは、要するにショートカット一覧ファイルの目次です。内容はこんな感じです。

Mozilla Firefox
Jane Doe Style
まめFile4
Sleipnir
xyzzy

内容を書くときに守っていただきたいルールは二つ。一、ショートカット一覧ファイルから「.txt」を除いた名前を一行に一つずつ書いていくこと。二、長い名前のものほど最初に書くこと。「index.txt」というファイル名で保存すれば、インデックスファイルはできあがりです。
次にデフォルトファイルですが、これはショートカット一覧ファイルが見つからなかった場合に表示するヘルプファイルのようなものです。ファイル名は「00.txt」。つくらなくてもかまいません。ぼくは次のような感じで、一般的なショートカット一覧を入れています。

Alt+C		CLCL
Ctrl+Alt+M	XTMemo
------------------------------------------------------------
Ctrl+A		すべて選択
Ctrl+C		コピー
Ctrl+X		切り取り
Ctrl+V		貼り付け
Ctrl+Z		アンドゥ
Ctrl+Y		リドゥ
Ctrl+F		検索
Ctrl+S		保存
 ・
 ・
 ・

ここまでできたら、最後にAutoHotkeyの設定をします。
AutoHotkeyは起動するとタスクトレイに常駐しますが、その右クリックメニューの中から「Edit This Script」を選択して、「AutoHotkey.ini」というAutoHotkeyの初期設定ファイルを開きます。ファイルの末尾に次のスクリプトを追加して、上書き保存すればできあがりです。またAutoHotkeyの右クリックメニューから「Reload This Script」を選べば、使えるようになります。

#x::
	sclist_folder  = c:/shortcut
	sclist_index   = %sclist_folder%/index.txt
	sclist_default = %sclist_folder%/00.txt

	IfNotExist, %sclist_index%
	{
		MsgBox, インデックスファイルが見つかりません。
		return
	}

	WinGetActiveTitle, soft_title

	Loop, READ, %sclist_index%
	{
		soft_name = %A_LoopReadLine%

		IfInString, soft_title, %soft_name%
		{
			sclist_file = %sclist_folder%/%soft_name%.txt

			IfExist, %sclist_file%
			{
				Run, %sclist_file%
				return
			}
		}
	}

	MsgBox, このソフトのショートカット一覧は用意されていません。
	IfExist, %sclist_default%
	{
		Run, %sclist_default%
	}
	return

ここでは、「Win+X」(「Windows」キーを押しながら「x」を押す)でショートカット一覧が見られるように設定しています。先ほど「(sclist_folder※)」等として出てきたものは、このスクリプトで使っている変数名です。AutoHotkeyスクリプトの書き方がわかる人は、使いやすいように適当に改変しちゃってください。
たぶんFAQとなるだろうことを一つだけ。「ちゃんとショートカット一覧のファイルをつくったのに、『用意されていません』って言われるよ?」ということがありえますが、それはショートカット一覧ファイルのファイル名の指定に問題がある場合があります。たとえば、ぼくが使っている「まめFile4」というソフトがありますが、これの指定のために、ショートカット一覧ファイルの名前やインデックスファイルに次のように記述すると、そのようなことになります。「まめFile4」「まめFile4」……わかりました?*1
ちなみに、テキストビューアに「ttPage-R」を使っているのは、今使っているソフト以外のソフトのショートカット一覧も見たいな、というときに、「Ctrl+→」や「Ctrl+←」を押してページを切り替えることでそれができるようになるからです。この機能は最近採用されたものですが、大変重宝してます。というか、この機能がついたために、こんなことを思いついたんですよね(^^;;


そんなところで、あとは自己責任でお願いします。
ところで、「手を抜くため」にやってるといいながら、ものすごい骨折りじゃないか! と思われるかもしれません。違うんですよ。最初にちょっとがんばっておけば、後々それが効いてくるんです。「ラクをするために努力する」。いいじゃありませんか。これもある種のTake it easy!ということで。

*1:正確に言えば、ここで必要としているのは、そのソフトを起動しているときにタイトルバーに現れている文字列なんですね。だから、ショートカット一覧ファイルの名前は、単にソフトの名前をつければいいというわけではなくて ── 多くの場合はそれで済むんですが ── ソフト起動中のタイトルバーを見て、そこに表示されているソフトの名前をつけるようにしてください。