带有 Vimperator 的 Firefox:如何切换查找栏?

带有 Vimperator 的 Firefox:如何切换查找栏?

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

相关内容