このブログはURLが変更になりました

新しいブログはこちら→ https://matsuu.hatenablog.com/

Google Chrome拡張機能のYakShaveでVimperatorのQuickHintもどきを作る

Google Chrome拡張機能で、Emacs/Viのようなキー配列でページスクロール操作ができるYakShaveというのがある。

YakShave - Google Chrome 拡張機能ギャラリー

おーこれでGoogle ChromeでもVimperatorのように快適ライフ!かと思いきや、
今のところできるのは基本的にページスクロール操作をEmacs/Vi風に操作できるのみ。うーん残念。
幸いYakShaveはJavaScriptで機能拡張ができるので、VimperatorのQuickHintのようなものを作ってみた。
JavaScriptは初心者なので実装が変なのはご勘弁。だれか改良していただけませんか。

使い方

下のソースコードを、YakShaveのオプション画面内「Additional Bindings」にコピペ。
オプション画面内「Keyboard Setup」の「Use the key labeled "Alt" as Meta」にチェック。
一番下のSave Optionsを忘れずにクリック。
Save Optionsをクリックした後に新しく開いたタブから適用される模様。うまくいかないならブラウザを再起動。

  • Meta(Alt)+jやMeta(Alt)+kでアンカータグを順番に辿れます。
  • fキーを押すとQuickHintモードになります。アンカーに番号が付与されます。
  • QuickHintモードで付与された番号のうち、0-9のみ飛ぶことができます(要改善)。
  • QuickHintモードはESCキーで解除できます。

致命的欠陥

  • テキトー実装なのでうまく動かない場合があります。
  • すべてのリンクに番号が付与されますが、0-9までしか飛べません(複数キー入力に未対応)。
  • アンカータグなURLしか遷移できません。textareaに移動できません。
  • QuickHintモードに移行すると画面が崩れる場合があります。

ちなみに

私のオプション設定は以下の通り

  • 「Use the key labeled "Alt" as Meta」にチェック
  • 「Standard (base.js ― read this for examples)」にチェック
  • Unix (unix.js)」にチェック
  • 「vi-like (vi.js)」にチェック
  • Blacklistに「^https?://[^/]*google\.com/」