Firefox 與 Vimperator:如何切換查找欄?

Firefox 與 Vimperator:如何切換查找欄?

我正在使用 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表單(您可以在其中鍵入某些輸入的任何文字區域),但這可能正是您想要的。

相關內容