如何暂时禁用Vimperator?例如,我想在使用Web电子邮件应用程序时暂时禁用Vimperator。有命令吗?
答案 0 :(得分:53)
使用 Shift + Esc 暂时禁用Vimperator。再按一次使其正常工作
答案 1 :(得分:35)
我猜你已经知道Shift-Esc暂时禁用了vimperator。所以我写了如何根据你当前的位置禁用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。
我给出的解决方案是级联方法,您可以定义所有网站以启用vimperator,然后有选择地禁用每个网站。因此,即使gTask使用与gmail相同的父站点,它也启用了vimperator。
现在解释:
这些命令位于主目录中的.vimperatorrc中。您可以通过
更改.vimperatorrc的位置source! *directory*
在.vimperatorrc文件中,但默认位置是主目录中的.vimperatorrc文件。 (Windows中%userprofile%)
替代解决方案:
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)
正如您所看到的,当您想要过滤掉许多网站时,这会变得复杂。
文件:
http://vimperator.sourceforge.net/help/vimperator/autocommands.xhtml
解决方案的来源:
http://code.google.com/p/vimperator-labs/issues/detail?id=406
答案 2 :(得分:10)
你可以使用:ignorekeys命令
ignorekeys add mail.yahoo.com
ignorekeys add mail.google.com
在这些域上禁用所有vimperator键绑定。
答案 3 :(得分:1)
你可以使用 gmail
答案 4 :(得分:0)
使用autocmd solution,每次出现消息"执行位置更改自动命令..." 时,可能会感到烦恼。
在最新版本的vimperator(3.8.3)中,默认情况下不显示此消息,仅在详细模式下。
但Firefox Addons中的当前版本为3.8.2,因此我们需要手动安装。简单如下:
git clone https://github.com/vimperator/vimperator-labs.git .
make xpi
然后从downloads
目录安装vimperator。