私は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
~/.vimperatorrc
Vimperator 構成ファイルに次のマッピングを追加します。
inoremap <Esc> <S-Esc><Esc><S-Esc>
変更を有効にするには、必ず Firefox を再起動してください。
裏では、次の処理が行われます: Vimperator キー インターセプションを無効にし、Esc
キーを Firefox に伝播し (検索バーを閉じます)、Vimperator キー インターセプションを有効に戻します。このマッピングは検索バーに固有のものではなく、すべてのinsert mode
フォーム (入力できる任意のテキスト領域) に適用されますが、いずれにしてもこれが必要な操作である可能性が高いことに注意してください。