我使用 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
表单(任何可以输入某些内容的文本区域),但这可能正是您想要的。