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