Hatena::Groupkeysnail

きすねた(ん)

2011-04-01

Tanything など prompt.selector() をあらかじめ編集モード ON (キーマップ無効) で起動

| 18:54 | Tanything など prompt.selector() をあらかじめ編集モード ON (キーマップ無効) で起動 - きすねた(ん) を含むブックマーク はてなブックマーク - Tanything など prompt.selector() をあらかじめ編集モード ON (キーマップ無効) で起動 - きすねた(ん)

Tanything を普段は C-a に割り当て j, k, g, G といった less ライクなキーバインドで利用している.

これを単純な switch-to-buffer として使おうと考えた場合,上記の less ライクなキーバインドを無効にして編集モードへ移行するために C-z を入力する必要があり,これが非常な手間となっていた.

何とかならないか,と考えていたところ prompt.selector の編集モードは,外部から prompt.editModeEnabled として触ることができることを思い出した.すっかり忘れていた.

そこで,以下のようにしてみると,うまく Tanything が編集モードで起動してくれた.

ext.exec("tanything");
prompt.editModeEnabled = true;

個人的な設定を以下に示す.

C-x b文字列絞り込みによるタブ移動のために,C-a はタブ一覧を眺めて削除やピン留め*1などの操作を行なうために,それぞれ利用する.

key.defineKey([key.modes.VIEW, key.modes.CARET], 'C-a', function (ev, arg) {
    ext.exec("tanything", arg);
}, 'タブを一覧表示', true);

key.setGlobalKey(['C-x', 'b'], function (ev, arg) {
    ext.exec("tanything", arg);
    prompt.editModeEnabled = true;
}, 'タブを一覧表示 (編集モード)', true);

*1:Tanything 0.1.4 以上では Firefox 4 で導入されたタブのピン留め機能を操作することが可能になっている

IrelandIreland2011/10/06 14:45Great aitrcle, thank you again for writing.