暂时禁用Vimperator

blu*_*123 42 firefox vimperator firefox-addon

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

Wil*_*iam 53

使用Shift+ Esc暂时禁用Vimperator.再按一次使其正常工作


For*_*ker 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
Run Code Online (Sandbox Code Playgroud)

这会过滤gMail,gCalendar,gReader,但不会过滤gTask.

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

现在说明一下:

这些命令位于主目录中的.vimperatorrc中.您可以更改.vimperatorrc的位置

source! *directory*
Run Code Online (Sandbox Code Playgroud)

在.vimperatorrc文件中,但您的主目录中的默认位置是.vimperatorrc文件.(Windows中%userprofile%)

替代解决方案:

autocmd LocationChange .* js modes.passAllKeys = /mail\.google\.com/.test(buffer.URL)
Run Code Online (Sandbox Code Playgroud)

*注意反斜杠以逃避点.

这种方法的问题在于只有使用autocmd的最新命令行才能正常工作.意味着最后一个autocmd命令会覆盖第一个.所以你最终会对命令产生布尔运算,如下所示:

autocmd LocationChange .* js modes.passAllKeys = /(mail\.google\.com|google\.com\/reader)/.test(buffer.URL)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,当您想要过滤掉许多网站时,这可能会变得复杂.

文档:http: //vimperator.sourceforge.net/help/vimperator/autocommands.xhtml
解决方案的来源:http: //code.google.com/p/vimperator-labs/issues/detail?id = 406


小智 10

你可以使用:ignorekeys命令

ignorekeys add mail.yahoo.com
ignorekeys add mail.google.com
Run Code Online (Sandbox Code Playgroud)

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