昨日はCtrl+Rだけ設定し、Rコンソールを前面化しない(フォーカスを移さない)でコマンド実行するショートカットでした。今日は、コマンド実行とともにコンソールも前面化、コンソールクリア、コンソール終了の三つのキー設定を追加。詳細は下表のとおりで、デモ動画とソースコードを後掲します。実行環境は昨日と同様Windows 7 32bit + AutHotkey Unicode 32bit 1.1.20 + pgAdmin Portable 1.20.0 + R Portable 3.1.2。
キー動作備考
Ctrl+R選択文字列をコンソールに貼り付け、実行昨日設定したもの
Ctrl+Shift+R同上(コンソールを前面化)
Ctrl+Lコンソールクリアデフォルトの動作(行削除)は無効になる
Ctrl+Shift+Lコンソール終了R起動時にオプション --no save を付けておく

デモ動画
昨日と同様にPCのスクリーンだけなので伝わりにくいですが、クエリツール上の操作だけで、Rコンソールへ上記4コマンドを実行している様子です。下に動画が出ない場合はブラウザが未対応なので、リンクからダウンロードして下さい。(526日追記:Chromeで正常再生できる動画に差し替えました)
≫ Link : demo_pgadmin_query_to_R2.webm

クエリツール上かつ文字列選択状態でCtrl+RまたはCtrl+Shift+Rが打鍵されると、Rコンソールがあればそこに選択文字列を貼り付け、なければ新規にRを起動し、コンソールが立ち上がるのを待って貼り付けます。
昨日のCtrl+Rだけの時から後者の機能も備えており、昨日の動画では省いたので今日入れました(40秒過ぎから)。

動画のように操作画面をキャプチャしながらだと、Rコンソール前面化のタイミングがかなり後になりました。キャプチャなしの通常時は、すぐ前面化されます。あと、昨日と同様にたまにAutoHotkeyの動作がおかしい(下のようにCtrl+VCtrlが抜ける)時があり、原因調査中です。


実行環境とスクリプト
スクリプト以外、昨日と同様。AutoHotkeyhttp://ahkscript.org/download/にあるUnicode 32bitZIPをダウンロードし、本体のプログラムだけ適当なフォルダに解凍します。同じ場所に起動用バッチファイルとスクリプトを置いて準備終わり。必要な時にバッチをダブルクリックすれば、pgAdminクエリツール上で4つのショートカットキーが機能します。
loading from Bitbucket...
loading from Bitbucket...
スクリプト中、Ctrl+RCtrl+Shift+Rが呼び出す関数PasteToR()は昨日と同じ。実際やっていることは単純で、クリップボードの中身を一時的に変数bakに移してからCtrl+Cを実行し、クリップボードに何か入っていれば文字列選択中と判断してRコンソールに貼り付けるだけです。

文字列選択中でなければ何もしないで終わりますが、どうせなら、クエリツール上に書いたRスクリプト部分をまるごとコンソールに貼り付けられないか検討中。うまくできたら記事にします。