Vimperator を使用した Firefox: 検索バーを切り替えるにはどうすればいいですか?

Vimperator を使用した Firefox: 検索バーを切り替えるにはどうすればいいですか?

私はFirefoxを使用していますヴィンペレーターVim エミュレータ プラグインですが、検索にそのキーを使用する代わりに/、 によって呼び出される通常の組み込みの検索バーを使用することを好みますCtrl-F

問題は、Vimperator が有効になっている場合、Esc検索を終えた後に検索バー内から を押しても、Vimperator がマッピングを傍受するため、検索バーが消えないことです (Vimperator が無効になっている場合は消えますが) Esc

そこで質問なのですが、Escキーを押したときに検索バーを通常通り消すにはどうしたらいいのでしょうか?

答え1

vimperator を有効にすると、入力するとi+CTRL+f検索バーが表示されます。また、閉じるのも簡単です。

次のコマンドを試してください:

:js document.getElementById("FindToolbar").close();

またはマップを作成します: (以下の行を '~/.vimperatorrc' に追加します)

noremap <c-s-f> :js document.getElementById("FindToolbar").close();<cr>

inoremap <c-s-f> <esc>:js document.getElementById("FindToolbar").close();<cr>

このように、タイピングはCTRF+SHIFT+fうまく機能します。

追加メモ:

CTRL+fコマンド モードでは検索バーが表示されます。一方、CTRL-bブックマーク サイドバーが表示されます。これがこの問題が発生する理由です。他のマッピングが役立つかもしれません:

cnoremap <c-f> <right>

cnoremap <c-b> <left>

アップデート:
Gecko 1.9(Firefox 25)以降では、代わりに次のコマンドを使用します。
:js getBrowser().getFindBar().close()

答え2

~/.vimperatorrcVimperator 構成ファイルに次のマッピングを追加します。

inoremap <Esc> <S-Esc><Esc><S-Esc>

変更を有効にするには、必ず Firefox を再起動してください。

裏では、次の処理が行われます: Vimperator キー インターセプションを無効にし、Escキーを Firefox に伝播し (検索バーを閉じます)、Vimperator キー インターセプションを有効に戻します。このマッピングは検索バーに固有のものではなく、すべてのinsert modeフォーム (入力できる任意のテキスト領域) に適用されますが、いずれにしてもこれが必要な操作である可能性が高いことに注意してください。

関連情報