Firefox 暂时禁用Vimperator

Firefox 暂时禁用Vimperator,firefox,firefox-addon,vimperator,Firefox,Firefox Addon,Vimperator,H如何临时禁用Vimperator?例如,我想在使用web电子邮件应用程序时暂时禁用Vimperator。有命令吗?我猜您已经知道Shift Esc临时禁用VimOperator。所以我写了如何根据当前位置禁用vimperator 首先,解决方案: autocmd LocationChange .* js modes.passAllKeys = false autocmd LocationChange mail\\.google\\.com

H如何临时禁用Vimperator?例如,我想在使用web电子邮件应用程序时暂时禁用Vimperator。有命令吗?

我猜您已经知道Shift Esc临时禁用VimOperator。所以我写了如何根据当前位置禁用vimperator

首先,解决方案:

autocmd LocationChange .*                             js modes.passAllKeys = false
autocmd LocationChange mail\\.google\\.com            js modes.passAllKeys = true
autocmd LocationChange www\\.google\\.com/calendar    js modes.passAllKeys = true
autocmd LocationChange www\\.google\\.com/reader      js modes.passAllKeys = true
autocmd LocationChange mail\\.google\\.com/tasks      js modes.passAllKeys = false
这会过滤gMail、gCalendar、gReader,但不会过滤gTask

我给出的解决方案是级联方法,您定义所有网站以启用VimOperator,然后有选择地禁用每个网站。因此,即使gTask使用与gmail相同的父站点,它也启用了VimOperator

现在解释:

autocmd LocationChange .*                             js modes.passAllKeys = false
autocmd LocationChange mail\\.google\\.com            js modes.passAllKeys = true
autocmd LocationChange www\\.google\\.com/calendar    js modes.passAllKeys = true
autocmd LocationChange www\\.google\\.com/reader      js modes.passAllKeys = true
autocmd LocationChange mail\\.google\\.com/tasks      js modes.passAllKeys = false
这些命令位于主目录中的.vimperatorrc中。您可以通过以下方式更改.vimperatorrc的位置:

source! *directory*
在.vimperatorrc文件中,但默认位置是主目录中的.vimperatorrc文件。(%userprofile%在Windows中)

替代解决方案:

autocmd LocationChange .* js modes.passAllKeys = /mail\.google\.com/.test(buffer.URL)
*注意反斜杠以避开圆点

这种方法的问题是,只有使用autocmd的最新命令行才能工作。这意味着最后一个autocmd命令将覆盖第一个命令。因此,最终会对命令执行布尔运算,如下所示:

autocmd LocationChange .* js modes.passAllKeys = /(mail\.google\.com|google\.com\/reader)/.test(buffer.URL)
正如你所看到的,当你有很多网站需要过滤时,这会变得复杂

文件:
解决方案的来源:

使用Shift+Esc暂时禁用VimOperator。再次按下它使其工作

您可以使用带有feedSomeKeys(VimOperator插件)的gmail的键盘按键

怎么用?
  • 获取和保存文件
  • 复制~/.vimperator/plugins中的两个文件(如果不存在,则创建它)
  • 在~/.vimperatorrc文件中添加以下行:

    :source~/.vimperator/plugin_libly.js :命令-nargs=+lazy autocmd VimperatorEnter.* :lazy fmap-u='mail.google.com/mail'c/j k n p o u e x s r a#[]?gi gs gt gd ga gc

  • 试试看

对于,每次出现“正在执行位置更改自动命令…”消息时,都可能会让人恼火

在最新版本的VimOperator(3.8.3)中,默认情况下不会显示此消息,仅在详细模式下显示。
但Firefox插件中的当前版本是3.8.2,因此我们需要手动安装它。简单到:

git clone https://github.com/vimperator/vimperator-labs.git . 
make xpi

然后从下载目录安装VimOperator。

您可以使用:ignorekeys命令

ignorekeys add mail.yahoo.com
ignorekeys add mail.google.com

在这些域上禁用所有vimperator键绑定

我最多只能添加两个链接,所以你必须用谷歌搜索gmail shorcuts。我建议克隆vimperator插件目录,所以你可以找到一个像你一样的:git clone知道Pentadactyl的等价物是什么吗?@winchendonsprings使用passkeys命令
:set passkeys+=gmail.com:
这将忽略gmail站点上的Escape键。与其他解决方案相比,这有什么好处?
键禁用所有VimOperator键暂时,通过再次按键来启用它。此功能可能在2013年1月11日之后引入Vimperator。