FirefoxのキーバインドをVim風に変更するアドオンの「Tridactyl」(Tridactyl – 🦊 Firefox (ja) 向け拡張機能を入手)を使用してみたところ、コマンドラインモードがあり、他のVim風キーバインド変更アドオンよりも、かつて愛用していたVimperatorに近くて使いやすかった。が、キーバインドに少し不満を感じた。
一つは、タブ移動にC-nとC-pが使えないこと。これは以前の記事のFirefox Quantumでカスタマイズできないデフォルトショートカットキーを変更する - 錯誤試行や外部のキーカスタマイズツールで解決できる。
もう一つは、コマンドラインモードの上下がTabでの移動になっていて操作しづらいこと。これもC-nやC-pで上下移動させたいが、そうすると上記の方法ではタブ移動とキーバインドがバッティングしてしまう。
Tridactylで何とかできないかと思っていたところ、以下の記事が見つかった。
- 「C-n」「C-p」でタブを左右に移動する
以下をコマンドラインモードに入力すればよいが、事前に以前の記事(Firefox Quantumでカスタマイズできないデフォルトショートカットキーを変更する - 錯誤試行)のようにして、omni.ja内のbrowser.xhtmlでC-nとC-pを無効にしておく必要がある。bind --mode=normal <C-n> tabnext_gt bind --mode=normal <C-p> tabprev
- コマンドラインモードで「C-n」「C-p」で一覧を上下移動する
「C-n」については、上と同様の対応が必要。bind --mode=ex <c-n> ex.next_completion bind --mode=ex <c-p> ex.prev_completion
- コマンドラインモードの「C-f」を「右へ移動」に割り当てる
「C-f」がデフォルトで「コマンド履歴からの入力補完」に割り当てられていたが、それよりも、現在表示しているページのURLを編集してページ移動(「O」キー)したいというときに、URLの編集をする際に矢印キーでカーソルを右に移動しなければならないのが不便に感じたので、「右へ移動」を割り当てることにする。
unbind --mode=exしてもデフォルトの割り当てが解除されなかったので、以下のように一旦適当なキーで上書きしてやったところ、割り当てが変更された。 bind --mode=ex <C-f> <RightArrow> unbind --mode=ex <C-f>
- Google日本語版サイト(google.co.jp)の検索結果ページでページナビによる移動を有効にする
コマンドラインモードから以下を実行すると「]]」で検索結果の次のページへ、「[[」で前のページへ飛ぶことができる。これは結構便利なので設定をおすすめしたい。
google.comだと動作しないが、google.co.jpなら動作する。set followpagepatterns {"next": "^(next|newer)\\b|»|>>|more|>|次へ", "prev": "^(prev(ious)?|older)\\b|«|<<|<|前へ"}
- はてなブックマークの各記事のエントリページの「人気コメント」タブと「新着コメント」タブを切り替える
はてなブックマークの各記事のエントリページには「人気コメント」タブと「新着コメント」タブがあるが、ヒントモードからこれらのタブを選択して切り替えることができず不便だった。そこで、コマンドラインモードから以下を実行すると「;f」で選択できるようになった。bind ;f hint -c [class="js-bookmarks-sort-tab"]
- クイックマークでブックマークレットを実行する(「goo」とタイプしてはてブコメントを見る)
以下をコマンドラインモードで実行すると、「goo」とタイプするだけで、今開いているページの、はてなブックマークの記事エントリページ(コメントページ)を開くことができて大変便利。オススメしたい。quickmark o javascript:location.href='http://b.hatena.ne.jp/entry/'+escape(location.href);
説明すると、「go」はクイックマークで登録したページを開くTridactylのショートカットキーで、クイックマークとは「M」の後に何かキーを押すと、そのキーに現在表示しているページが登録され、「go」+「(登録したキー)」をタイプするとそのページに飛べるというもので、良く開くページを登録しておくと便利な機能。このクイックマークの登録は、コマンドラインモードからもでき、上記はブックマークレットを登録したもの。
- 右手だけではてなブックマークの記事エントリページを開く
以下を実行すると「;o」ではてなブックマークの記事エントリページが開く。本来「;o」は「f」と同じでヒントモードに設定されているが、使わないので置き換えた。結局、すぐまた両手を使わなくてはいけないのだが、少しの間ズボラができる。bind --mode=normal ;o open javascript:location.href='http://b.hatena.ne.jp/entry/'+escape(location.href);
- Google日本語版サイト(google.co.jp)の検索結果ページでページナビによる移動を有効にする
参照サイト
- Tridactyl – 🦊 Firefox (ja) 向け拡張機能を入手
FirefoxアドオンサイトのTridactylのページ
- Binding <C-n> doesn't work · Issue #996 · tridactyl/tridactyl · GitHub
TridactylのGitHubのIssuesでC-nが動かないという報告
- Tridactyl help page/hint
コマンドラインモードから「:help」でヘルプページを確認できる。「:help hint」のようにすれば「hint」に関するヘルプが表示される。ただしヘルプページは英語なので読むのが大変な場合は、一旦ページを保存した上でFirefoxメニューの「ファイルを開く」から開いて「ウェブページを翻訳」アドオンで翻訳するとよい。