キーボードのみでブラウザを操作するmy設定を晒してみる
イントロ
意外とキーボード操作系の記事って少ないんですよね。
ブラウザって絶対なくならないものだし、ゴリゴリと特化させた各人のスタイルがあっていいと思います。
公開すると誰かが「こういうの試してみよう」とか思う人がいるわけで。
emacs や vim などの editor だけでなく、ブラウザにもこういう文化がもっとほしいですなぁと常々感じてました。
そんなこと言う私は全然特化してないんですが、言い出しっぺの法則というわけで、「キーボード操作」に絞った自分のブラウザ設定を晒してみます。
(記事の最後に設定ファイル書いてます)
何を使ってるの?
あ、使ってるブラウザは chrome です。
どういう風に使ってるの?
よく使うのは以下の操作です。
詳しくは設定ファイルを見てください。
キーバインド割り当ては変更することは、いくらでも可能です。
- google検索したい
- s (search)
- 続けてキーワード入れると、google検索結果を新しいタブで開く
- Hit-a-Hintを使いたい
- e / C-e (keysnail に合わせた)
- i, l は見分けづらいので、ignore
- ページ内検索(migemo)したい
- C-s / C-r
- 閉じるときは C-m (G-g は競合してしまう)
- tab をサーチして選択
- t (tab)
- 続けてキーワード入れて、マッチしたタブを選択する
- tab 移動
- h / l
- ブラウザ標準の C-{ / C-} もよく使う
- 閉じたタブをもとに戻す
- u (undo)
- 戻る/進む
- b / n (back/next)
- title/url のコピー
- W / w (時々失敗するけど便利)
- 入力できる最初の場所を選択
- f (forcus)
- コマンドボックスを閉じる
- C-g
各種設定
どうして vichrome を使うか、は色々あるのですがそれは別の機会に。
とにかく優秀ですが、弱点として SearchMode にバグがあるので、そこは MigemoFindInPage にアウトソースしています。
vichrome
## global settings # EscapeをC-gで nmap <C-g> :Escape imap <C-g> :Escape cmap <C-g> :Escape emap <C-g> :Escape ## nmap keybinds # タブ操作 nmap l :TabFocusNext nmap h :TabFocusPrev # GoCommandMode nmap <A-x> :GoCommandMode # 開いている tab を search し jump nmap t :ShowTabList # 戻る & 進む nmap b :BackHist nmap n :ForwardHist # google search nmap s :TabOpenNew -i g # bookmark search nmap S :TabOpenNew -b # forcus nmap f :FocusOnFirstInput # スクロール関連をなるべくemacs風に nmap <C-n> :ScrollDown nmap <C-p> :ScrollUp nmap <C-v> :PageDown nmap <A-v> :PageUp nmap <A-<> :GoTop nmap <A->> :GoBottom # URLをコピー nmap w :Copy '%url' nmap W :Copy '%title' ## mappings for opening your favorite web page nmap <Space>t :TabOpenNew https://www.twitter.com nmap <Space>f :TabOpenNew https://www.facebook.com/ nmap <Space>m :TabOpenNew https://mail.google.com/mail/#inbox nmap <Space>a :TabOpenNew https://maps.google.co.jp/ nmap <Space>e :TabOpenNew chrome://extensions/ nmap <Space>o :TabOpenNew chrome://settings/browser nmap <Space>d :TabOpenNew chrome://downloads nmap <Space>h :TabOpenNew chrome://history nmap <Space>g :TabOpenNew http://www.google.com/ # f-Mode nmap e :GoFMode nmap <C-e> :GoFMode --newtab --continuous ## cmap keybinds # コマンド上での選択移動 cmap <C-n> :FocusNextCandidate cmap <C-p> :FocusPrevCandidate ## pagecmd keybinds # タブ移動 pagecmd * nmap l :TabFocusNext pagecmd * nmap h :TabFocusPrev # almost all Vichrome functions don't work properly for pdf contents # so it's useful to enable default key bindings for pdf file. pagecmd *.pdf nmap <C-f> <NOP> ## aliases alias extentions TabOpenNew chrome://extensions/ alias extention TabOpenNew chrome://extensions/ alias ext TabOpenNew chrome://extensions/ alias option TabOpenNew chrome://settings/browser alias opt TabOpenNew chrome://settings/browser alias downloads TabOpenNew chrome://downloads alias history TabOpenNew chrome://history alias hist TabOpenNew chrome://history alias manual TabOpenNew http://github.com/k2nr/ViChrome/wiki/Vichrome-User-Manual alias man TabOpenNew http://github.com/k2nr/ViChrome/wiki/Vichrome-User-Manual alias config TabOpenNew chrome-extension://gghkfhpblkcmlkmpcpgaajbbiikbhpdi/options.html alias conf TabOpenNew chrome-extension://gghkfhpblkcmlkmpcpgaajbbiikbhpdi/options.html alias cnf TabOpenNew chrome-extension://gghkfhpblkcmlkmpcpgaajbbiikbhpdi/options.html alias o TabOpenNew alias x TabCloseCurrent alias new TabOpenNew chrome-internal://newtab/ ## NOP keybinds # C-d default page half down nmap <C-d> <NOP> # C-u default page half up nmap <C-u> <NOP> # C-f default page Down nmap <C-f> <NOP> # C-y default ScrollUp nmap <C-y> <NOP> # yy default copyurl nmap yy <NOP> # gt default TabFocusNext nmap gt <NOP> # gT default TabFocusPrevious nmap gT <NOP> # i default FocusOnFirstInput nmap i <NOP> # / default GoSearchModeForward nmap / <NOP> # ? default GoSearchModeBackword nmap ? <NOP> # N default PrevSearch nmap N <NOP> ## DISCARD keybinds nmap <BS> <DISCARD>
MigemoFindInPage
- ChromeMigemo が前もって必要なので入れる。
- /Users/{your_user_name}/Library/Application\ Support/Google/Chrome/Default/Extensions/fojbanjemmcmjomadodejdophegjdpkc/0.0.2_0/content.js を開く
- 定数を次のように修正、保存
- ACTIVATE_KEY = 10083 // C-s
- FIND_NEXT_KEY = 10083 // C-s
- FIND_PREV_KEY = 10082 // C-r
- 定数のルールは KeyCode でぐぐるとなんとなくわかります。
- 自前のキーバインド使いたい人はやってみましょう。
まとめ
勢い余って長くなってしまった...
要するに 「emacs っぽく chrome を使えるようにしていますよー」という紹介でした。
今のところ大きい不満はなく快適に過ごしています。