Vichromeは、ViやVimのようなキーボードショートカットで操作出来る、Google Chrome拡張機能で、前から使用していましたが、初期設定からあまり変えていなかったので、カスタマイズしてしばらく使用してみました。
結果、マウスジェスチャーを殆ど使わなくなり楽になりました。ちなみに、Vim使いではないですが便利です。 Flashサイトでは自動で無効になります。

便利な機能

  • f-Mode(Hit-A-Hint)
    • fを押して、リンク上に表示された文字を打てば、リンク先に移動できる
  • Migemo検索
    • ローマ字で日本語検索。検索は/ リンク文字はa
  • オートフォーカス無効 Disable auto focus when page is opened
    • サイトに来たら検索フォームにフォーカスがあり、キーを押したら文字入力になってしまうのを防げる
    • 検索フォームはiで移動できることが多いので、無効でいいかと

微妙な点

  • f-Modeの表示が遅い。特にリンク数が多いサイトで
    • 代わりにMoly HaH使用しています。こちらは早いです
  • continuous f-Mode(連続Hit-A-Hint)が、自分の環境だと動かない
    • リンクを沢山開くときは距離が近い時が多いと思うので、マウスを使うことになりますが、Linkclumpで設定をして、マウスでドラッグした範囲のリンクを一気に開いています
  • Ignored URLs に登録したサイトで無効にならない
    • 無効にならないサイトは、サイトを再読み込みすると動くことも。feedlyなど
  • u押しても、RestoreTabが効かない、違うページが表示されることがある
    • 他の拡張機能のマウスジェスチャーでも効かないことがあるので仕方ない?
    • ブラウザのキーボードショートカットの、Ctrl-Shift-tや、C-jで履歴表示にしているので代用

Key Mapping 変更/追加部分 補足

  • C- e/f、f/F > 無効
    • C-fはブラウザ標準検索を使いたい時がある為(/の検索はうまく動かないページあり)
    • C-f使わないならC-eも使わないだろうと
    • f/Fは、拡張機能のMolyHaHに割り当てて、Hit-a-Hint使う
  • s/S > 交換
    • 新規タブでgoogle検索 / 同じタブでgoogle検索
  • m > タブリスト表示
  • C- j > chrome://history へ移動
  • q/Q > アクティブなタブ以外を閉じる / タブをすべて閉じる
  • yt / ym > サイトタイトルコピー / Markdown形式でコピー
  • C- h/l > 左右移動
  • nmap tab ~ キーボードショートカットでwebページへジャンプ
    • デフォルトだとspaceを使用しているが、スクロール移動によく使うのでtabに変更。一部だけ掲載
  • cmap C- j/k > コマンドモード時の上下移動
  • pagecmd * nmap h/l > h/lでタブ移動
    • webページのキーボードショートカット上書き

Key Mapping

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# aliases
# in this example you can open extensions page by the command ':ext'
# and Chrome's option page by the command ':option'
alias ext TabOpenNew chrome://extensions/
alias option TabOpenNew chrome://settings/browser
alias downloads TabOpenNew chrome://downloads
alias history TabOpenNew chrome://history


## nmap

# NOP
nmap <C-e> <NOP>
nmap <C-f> <NOP>
nmap f <NOP>
nmap F <NOP>

# m > TabList
nmap m :TabList

# s / S > change
nmap s :TabOpenNew -i g
nmap S :Open -i g

# q / Q > TabCloseAll --only / TabCloseAll
nmap q :TabCloseAll --only
nmap Q :TabCloseAll

# yt / ym > Title copy / Markdown copy
nmap yt :Copy '%title'
nmap ym :Copy '[%title](%url)'

# C- h/l > Scroll Left / Scroll Right
nmap <C-h> :ScrollLeft
nmap <C-l> :ScrollRight

# C-j > chrome://history
nmap <C-j> :TabOpenNew chrome://history

# 1 / 9 > TabFocusFirst / TabFocusLast
nmap 1 :TabFocusFirst
nmap 9 :TabFocusLast

# mappings for web page
nmap <tab>tw :TabOpenNew https://twitter.com/?lang=ja
nmap <tab>gm :TabOpenNew https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/&hl=ja
nmap <tab>de :TabOpenNew https://delicious.com/
nmap <tab>ka :TabOpenNew http://wikiwiki.jp/kancolle/
nmap <tab>te :TabOpenNew http://kanji.sljfaq.org/drawj.html
nmap <tab>vi :TabOpenNew https://www.virustotal.com/
nmap <tab>ag :TabOpenNew http://www.aguse.jp/
nmap <tab>ch :TabOpenNew http://chromium.woolyss.com/

## cmap

# C- j/k > Focus NextCandidate / Focus NextPrevCandidate
cmap <C-j> :FocusNextCandidate
cmap <C-k> :FocusPrevCandidate

## pagecmd

# h / l > TabFocus Prev / TabFocus Next
pagecmd * nmap h :TabFocusPrev
pagecmd * nmap l :TabFocusNext

追記

2015-02-28

  • 1/9 :TabFocusFirst / TabFocusLast 追記。
  • C- o/i :BackHist / ForwardHist 追記。

2015-03-07

  • c :タブリスト表示 > Lへ変更。
  • e :chrome://history へ移動 > C- jへ変更。

2015-03-26

  • m :タブリスト表示へ変更。
  • yu :Title copy > ytへ変更。
  • yi :Markdown copy > ymへ変更。