私はFirefoxを Vimperator Vimエミュレータプラグインで使用していますが、検索に/
キーを使用する代わりに、Ctrl-F
によって呼び出される通常の組み込みの検索バーを使用することを好みます。
問題は、Vimperatorが有効になっている場合、検索が完了した後に検索バー内からEsc
を押すと、VimperatorがEsc
マッピングをインターセプトするため、検索バーが消えないことです(Vimperatorが無効になっている場合と同様)。
だから私の質問は、Esc
キーを押したときに、検索バーを通常どおりに非表示にするにはどうすればよいですか?
次のマッピングを~/.vimperatorrc
Vimperator構成ファイルに追加します。
inoremap <Esc> <S-Esc><Esc><S-Esc>
また、Firefoxを再起動して変更を取得してください。
裏で、それは以下を行います:Vimperatorキーインターセプトを無効にし、Esc
キーをFirefoxに伝播し(検索バーを閉じます)、Vimperatorキーインターセプトをこの順序で有効にします。このマッピングは検索バーのみに固有のものではなく、すべてのinsert mode
フォーム(入力を入力できる任意のテキスト領域)に適用されますが、とにかくそれが必要になる可能性があります。
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()