FireFoxをEmacsに。KeySnailのすすめ2 プラグイン編

2011.07.04kickbaseBrowser


単体でも非常に便利なKeySnailですが、プラグインを使用すことでより快適な環境となります。Plugin – GitHubからインストールできる、数あるプラグインの中から僕が使用しているものをおすすめ順に紹介していきます。
※個々の使用方法は、プラグインをインストール後「FireFoxのツール→KeySnail→プラグインマネージャを開く」から確認することができます。初期設定ファイルの変更方法やオプション等記載されているので参照してください。

本記事ではCtrlキーをC、AltキーをMと表記し、2ストロークキーバインドは半スペース区切りで表記しています。以下例です。

g:gキーを押す
R:Shiftを押しながらrキーを押す
C-v:Ctrlを押しながらvキーを押す
M-x:Altを押しながらxキーを押す
C-x n:Ctrlを押しながらxキーを押し、その後nキーを押す(2ストローク)
C-c C-e:Ctrlを押しながらcキーを押し、その後Ctrlを押しながらeキーを押す(2ストローク)

紹介しているキーバインドはデフォルトから変更している箇所があります。僕の初期設定ファイルをこちらで紹介しています。

01 : Tanything 0.1.4
KeySnailからタブを操作できるプラグインです。これが実に便利!タブブラウズしていて、今開いてるタブを先頭に移動したり、右(左)のタブを全て閉じたり、タイトルとURLをHTMLタグ付きでクリップボードにコピーしたり…と、かゆい所に手が届くプラグインです。以下に僕がよく使うキーバインドを記載しておきます。

a a:今開いてるタブを先頭に移動
a e:今開いてるタブを末尾に移動
a q:今開いてるタブを閉じる
a p:今開いてるタブより左側にあるタブを全て閉じる
a n:今開いてるタブより右側にあるタブを全て閉じる
a M-a:今開いてるタブ以外を全て閉じる
a c:選択したタブのタイトルとURLをHTMLタグつきでコピー

上記のようにTanythingのキーバインドは起点がaとなっています。「タブに関する操作はaから始まる」と覚えられるのが、2ストロークの良い点ですね。

初期設定ファイル(PRESERVE)

//Tanything 0.1.4用設定
plugins.options["tanything_opt.keymap"] = {
    "C-z"   : "prompt-toggle-edit-mode",        //ローカルキーバインドモードを抜けて編集モードに移行
    "C-v"   : "prompt-next-page",               //一画面スクロールダウン
    "M-v"   : "prompt-previous-page",           //一画面スクロールアップ
    "j"     : "prompt-next-completion",         //次のアイテムに移動
    "k"     : "prompt-previous-completion",     //前のアイテム移動
    "g"     : "prompt-beginning-of-candidates", //最初のアイテムに移動
    "G"     : "prompt-end-of-candidates",       //最後のアイテムに移動
    // Tanything specific actions
    "q"     : "localClose",                     //選択したタブを閉じる
    "p"     : "localLeftclose",                 //選択したタブの左にあるタブをすべて閉じる
    "n"     : "localRightclose",                //選択したタブの右にあるタブをすべて閉じる
    "M-a"   : "localAllclose",                  //選択したタブ以外をすべて閉じる(キーバインド”a”だと押し間違いがあるので"M-a"に変更。)
    "c"     : "localClipUT",                    //選択したタブのタイトルとURLをHTMLタグつきでコピー
    "C"     : "localClipU",                     //選択したタブのURLをHTMLタグつきでコピー
    "e"     : "localMovetoend",                 //選択したタブを末尾に移動
	"a"     : "localMovetostart",               //選択したタブを先頭に移動//追加
};

初期設定ファイル(Key bindings)

key.setViewKey('a', function (ev, arg) {
    ext.exec("tanything", arg);
}, 'タブを一覧表示', true);

▼1ストローク目のaを押したところ。タブの並びがそのままプロンプトに表示される

▼インクリメンタルサーチが効くので、開きたいタブにすぐにアクセス可能

▼a aと押して今開いてるタブを先頭に移動。残しておきたいタブを左に寄せ、右側のタブを全て閉じるなんて操作も簡単

参考サイト

Firefoxでタブをanythingっぽく操作するKeySnailプラグイン、Tanythingをリリースしました。
Firefoxのタブ操作を便利にしてくれるKeySnailプラグインTanythingがとっても便利になりました。

02 : HoK 1.3.0
キーボード操作でリンクを開くことができるプラグイン。ブランク/セルフの切り替えや右クリックメニューの表示などをキーボードから操作できます。

e:リンクをフォアグラウンド(セルフ)で開く
E:リンクをバックグラウンド(ブランク)で開く
C-c C-e:リンクを連続して開く
;:拡張ヒントモードを開始

初期設定ファイル(Key bindings)

key.setViewKey('e', function (aEvent, aArg) {
    ext.exec("hok-start-foreground-mode", aArg);
}, 'Hit a Hint を開始', true);

key.setViewKey('E', function (aEvent, aArg) {
    ext.exec("hok-start-background-mode", aArg);
}, 'リンクをバックグラウンドで開く Hit a Hint を開始', true);

key.setViewKey(';', function (aEvent, aArg) {
    ext.exec("hok-start-extended-mode", aArg);
}, 'HoK - 拡張ヒントモード', true);

key.setViewKey(['C-c', 'C-e'], function (aEvent, aArg) {
    ext.exec("hok-start-continuous-mode", aArg);
}, 'リンクを連続して開く Hit a Hint を開始', true);

▼eキーを押すとヒントが表示されるので、対応するキーを入力するとリンク先に飛べます。

▼ヒントモードでaを押したところ。マッチするヒントはピンク表示に。

参考サイト

KeySnail で Hit a hint が可能となるプラグイン HoK をリリース – mooz deceives you

03 : Yet Another Twitter Client KeySnail 3.0.5 [ 2011.07.05加筆 ]
KeySnailをTwitterクライアントにするプラグイン。リプライ、RT、QTも自在にコントロールでき、新着ツイートのポップアップ表示までカバーしています。TL内の絞り込み検索等もでき、とても使い勝手のよいクライアントです。僕の設定はよく使うものだけを設定していますが、お気に入りの追加 / 削除やダイレクトメッセージの送信、ツイートの削除などもキーボード操作で行えます。またj.mpの短縮URLサービスで独自アカウントを設定できたり、リスト表示したり…と、かゆい所に手が届く仕様となっています。慣れ親しんだEmacsキーバインドでつぶやける(テキスト入力できる)ので、とても快適ですよ。

t:TLを表示
t t:ツイートする
t r:リプライする
t q:QT(RT)する
t c:ターゲットのつぶやきをコピー
t o:ツイートに含まれているURLを開く。便利!複数のURLも一気に開いてくれます。

初期設定ファイル(PRESERVE)

//Twitter設定
//ちなみにTL上でC-iを押すとターゲットに対してアクション(QT等)を選択出来る画面に移動する
plugins.options["twitter_client.popup_new_statuses"] = true;
plugins.options["twitter_client.tweet_keymap"]       = {
    "C-M-m" : "prompt-decide",                  //誤爆防止。Ctrl+Alt+mでツイート
    "C-m"   : "",                               //誤爆防止。
    "RET"   : ""
};
plugins.options["twitter_client.keymap"] = {
    "C-z"   : "prompt-toggle-edit-mode",        //編集モードのトグル切り替え
    "C-v"   : "prompt-next-page",               //一画面スクロールダウン
    "M-v"   : "prompt-previous-page",           //一画面スクロールアップ
    "j"     : "prompt-next-completion",         //次のアイテムに移動
    "k"     : "prompt-previous-completion",     //前のアイテム移動
    "g"     : "prompt-beginning-of-candidates", //最初のアイテムに移動
    "G"     : "prompt-end-of-candidates",       //最後のアイテムに移動
    // twitter client specific actions
    "t"     : "tweet",                          //つぶやく
    "r"     : "reply",                          //リプライする
    "q"     : "retweet",                        //QT(RT)する
    "c"     : "copy-tweet",                     //コピーする
    "o"     : "open-url",                       //URLを開く
    "h"     : "refresh-or-back-to-timeline",    //TL(Home)に戻る
    "@"     : "show-mentions",                  //自分への@を表示する	
    "s"     : "switch-to"                       //リスト, Home, Mentioins, Favorites などをトグルする
};

初期設定ファイル(Key bindings)

key.setViewKey("t",
    function (ev, arg) {
        ext.exec("twitter-client-display-timeline", arg);
}, "TL を表示", true);

key.setGlobalKey(["C-c", "t"],
    function (ev, arg) {
        ext.exec("twitter-client-tweet-this-page", arg);
}, "このページのタイトルと URL を使ってつぶやく", true); 

04 : bmany 0.0.9
ブックマークを操作するプラグイン。ツールバーにあるもの、キーワード、タグがついているもの、ブックマークレットと絞り込み表示することが可能。

: b:ブックマークを一覧表示
: m:ブックマークレットを一覧表示

初期設定ファイル(PRESERVE)

//bmany デフォルトで新しいタブを開きフォーカスを当てる 
plugins.options["bmany.default_open_type"] = "tab";

初期設定ファイル(Key bindings)

key.setViewKey([':', 'b'], function (ev, arg) {
    ext.exec("bmany-list-all-bookmarks", arg, ev);
}, 'ブックマーク');

key.setViewKey([':', 'm'], function (ev, arg) {
    ext.exec("bmany-list-bookmarklets", arg, ev);
}, 'bmany - ブックマークレットを一覧表示');

key.setViewKey([':', 'k'], function (ev, arg) {
    ext.exec("bmany-list-bookmarks-with-keyword", arg, ev);
}, 'bmany - キーワード付きブックマークを一覧表示');

key.setViewKey([':', 't'], function (ev, arg) {
    ext.exec("bmany-list-bookmarks-with-tag", arg, ev);
}, 'bmany - タグ付きブックマークを一覧表示');

05 : Caret hint 0.0.4
HoKと同時に使用し、ヒントを使ってキャレットを移動することを可能にします。テキスト選択でもマウスを使いたくないあなたに。

初期設定ファイル(PRESERVE)

//Caret Hintキーバインド変更 
plugins.options["caret_hint.head_key"] = "m";//c → m
plugins.options["caret_hint.tail_key"] = "M";//C → M

初期設定ファイル(Key bindings)

key.setCaretKey('s', function (ev, arg) {
    ext.exec("swap-caret", arg, ev);
}, 'キャレットを交換', true);

key.setCaretKey('i', function (ev, arg) {
    nsPreferences.setBoolPref("accessibility.browsewithcaret", false);
}, 'キャレットモードを抜ける', true);

06 : Builtin command as Ext 1.0
KeySnailの組み込みコマンドを呼び出すことができるプラグイン。機能を覚えていないときにお世話になりました。

M-x:組み込みコマンドの一覧を表示

初期設定ファイル(Key bindings)

key.setGlobalKey('M-x', function (ev, arg) {
    ext.select(arg, ev);
}, 'エクステ一覧表示', true);

07:Dark Theme 0.0.1
見た目がクールになります。


ページトップへ