Chrome 拡張機能の Vimium-C を使っていて、文字入力中に B を打つとブックマーク検索のポップアップが出てくる問題がありました。
unmap でキーマップを外して止めた記録です。
はじめに
Vimium-C は、Vim のキー操作でブラウザを動かせる拡張機能です。
ブラウザは 📄話題のAIブラウザ「Perplexity Comet」に乗り換えた で書いた Comet を使っています。
この記事では、B キーの割り当てを外す手順を書きます。
症状
- 文字を入力している最中に
B(Shift + b)を打つと、ブックマーク検索のポップアップが開く - 入力が中断されるので、地味に煩わしい
何度も出てくると、じわじわストレスが溜まります。
原因
Vimium-C は、デフォルトで b を「ブックマーク検索(Vomnibar.activateBookmarks)」に割り当てています。
B(Shift + b)は「新しいタブでブックマーク検索(Vomnibar.activateBookmarksInNewTab)」です。
通常は、入力欄にフォーカスがあればキーはページ側に渡されるはずです。
それでも入力中に反応したので、フォーカスの扱いが合わない場面があるのかもしれません。
どのサイトで起きやすいのかは、正直まだ切り分けられていません。
今回は原因のページを探すより、使っていないキーマップを外して止めることにしました。
flowchart LR
A["B キーを入力"] --> B{"Vimium-C の<br>キーマップ"}
B -->|"変更前: map あり"| C["ブックマーク検索が開く"]
B -->|"変更後: unmap"| D["ページ側にキーが渡る"]
修正内容
1. オプション画面を開く
拡張機能のアイコンから、Options を開きます。
アイコンが見当たらない場合は、アドレスバーに comet://extensions/ と入力します。
Chrome なら chrome://extensions/ です。
拡張機能の一覧で Vimium-C の詳細を開き、拡張機能のオプションに進みます。
2. Custom key mappings に追記する
オプション画面にある Custom key mappings のテキストエリアに追記します。
ブックマーク検索を使う機会が少なければ、キーマップごと外すのが手っ取り早いです。
# b と B のブックマーク検索を解除する
unmap b
unmap B 別のキーに移したい場合は、こちらです。
# b を解除して Ctrl + b に割り当てる
unmap b
map <c-b> Vomnibar.activateBookmarks
# B を解除して Ctrl + Shift + b に割り当てる
unmap B
map <c-B> Vomnibar.activateBookmarksInNewTab 行頭を # で始めるとコメントになります。
3. 保存する
画面下部の Save Options を押して保存します。
反映されていないように見えたら、開いているページを再読み込みしてみてください。
修正後の効果
unmap で外した場合の挙動を表にすると、次のとおりです。
| 操作 | 変更前 | 変更後 |
|---|---|---|
入力中に B | ブックマーク検索が開く | ページ側にキーが渡る |
ページ上で b | ブックマーク検索が開く | ページ側にキーが渡る |
注意点
unmap するとブックマーク検索は使えなくなる
キーボードでブックマークを開きたい場面があるなら、unmap ではなく別キーへの割り当てを選んでください。
Ctrl + Shift の書き方
<c-B> の書き方が Ctrl + Shift の意味になるかは、拡張機能のバージョンによって違うかもしれません。
私の環境では、この書き方での動作までは確かめていません。
動かないときは、オプション画面の Show available commands で、コマンド名を確認してみてください。
他のキーでも起きるかもしれない
b と B 以外にも、入力中に反応するキーがあるかもしれません。
サイト単位で Vimium-C のキーを止めたいときは、除外ルール(exclusion rules)で指定する方法があります。
Vimium-C の公式リポジトリはこちらです。
まとめ
Vimium-C では、b がブックマーク検索、B が新しいタブでのブックマーク検索に割り当てられています。
入力中に B が反応して煩わしいときは、Custom key mappings に unmap を書けば外せます。
別のキーに移したい場合は、unmap のあとに map で割り当て直します。