読者です 読者をやめる 読者になる 読者になる

キーボード操作だけでGoogle Chromeのアドレスバーへ行ってしまったフォーカスをページへ戻したい

Vi chrome ブラウザ

Google Chromeの操作をVi風にしていると、どうしても他の操作も極力キーボードおんりーで操作したくなる。

私が入れたchrome 拡張

viの操作自体は気合で覚えるしかない。

入門vi 第6版

入門vi 第6版

FirefoxのVimperatorほどViViした感じにはならないが、大方の機能はキーボードだけで操作できるようになって心の平静を保てるようになる。

アドレスバーにフォーカスがあるときにページの方に戻れない *1

上記はツールの導入で何とかなったが、割と最近まで表題の問題が残っていた。 アドレスバーにフォーカスがある状態というのは以下の様な状態のこと。

f:id:randyumi:20150124155752p:plain

control + L(macの場合) でアドレスバーにフォーカスを移せるが、意図せず用もないのにアドレスバーへ行ってしまう事がある。 ページにフォーカスが戻らないと上で紹介したvichromeは使えなくなってしまう

何とかして元に戻さなくてはならないが、昔は以下の様な対応をしていた。

  • enterを入力する
    • enterを打ち込むとページが読み込まれ始めて読み込み終わるまで待たされてイライラする
  • tabを押す
    • アドレスバーの横の拡張機能とかブックマークバーに移動してなんかいtabを連打すればいいのかわからなくてイライラする
  • マウスでページのなにもないところをクリックする
    • マウス(or トラックパッド)まで手を伸ばす必要がありめんどくさくてイライラする
  • control + F(ページ内検索)を実行する
    • ヤフー知恵袋かどこかで紹介されていた方法だった気がする
    • どのページにもありそうな文字(aとか)を適当に入力するとページの方にフォーカスが戻っていく
    • ただし、ページに該当箇所がないと依然アドレスバーにフォーカスのまま
    • もちろんヒットした場所にスクロールされてしまうので長いページを見ていた時とかイライラする

と、最近まで上記のような精神衛生上非常に良くない状態であった。 しかし、以下superuserの回答を実践していらいだいぶ快適になった。

Google Chrome (Mac) set keyboard focus from address bar back to page - Super User

摘要すると、

  • chromeのアドレスバーにjavascript: alert("mofu");みたいに書くことで任意のjsを実行することができる
  • javascript:でjsを実行するとページ側にフォーカスが戻る
  • だからページにフォーカスを戻したかったらjavascript:とかいてenterすれば良い
  • でも面倒だからこれをもっと簡単にやろう
    • chromeには検索エンジンショートカットみたいな機能がある(g 検索ワードみたいにアドレスバーに入れるとグーグルを検索ワードで検索みたいな機能)
    • これにpを入力するとjavascript:が実行されるようにする
    • 具体的にはChrome設定設定詳細設定を表示検索エンジンの管理から追加できる

こんなかんじになる。

f:id:randyumi:20150124162548p:plain

便利、最高、快適。

ご清聴ありがとうございました。

*1:会社でこの事を発表したがヴィマーは少なく共感を得られなかったためここで改めて発表した。