2013-01-11 93 views
42

如何暂时禁用Vimperator?例如,我想在使用Web电子邮件应用程序时暂时禁用Vimperator。有没有一个命令呢?暂时禁用Vimperator

+0

''或''键暂时禁用所有Vimperator键,再次按下键启用它。此功能可能会在2013年1月11日之后引入Vimperator。 – CodyChan

回答

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在主目录。您可以通过

source! *directory* 

在.vimperatorrc文件改变.vimperatorrc的位置,但默认位置是在你的home目录.vimperatorrc文件。 (在Windows%USERPROFILE%)

的替代解决方案:

autocmd LocationChange .* js modes.passAllKeys = /mail\.google\.com/.test(buffer.URL) 

*注意反斜杠逃脱点。

这种方法的问题是,随着自动命令的命令只有最新的线路将采取的工作。这意味着最后一个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

53

使用 + Esc键暂时禁用Vimperator的。再次按下它,使其工作

+0

任何想法Pentadactyl的等同物是什么? – winchendonsprings

+0

@winchendonsprings使用** passkeys **命令 ':set passkeys + = gmail.com:' 这将忽略Gmail网站上的Escape键。 –

1

可以使用键盘shorcuts的Gmail /资讯提供ly与feedSomeKeys(用于Vimperator的插件)。

如何?

  • 获取thisthis文件。
  • 拷贝到〜/ .vimperator /插件,这两个文件(如果不存在,创建它)。
  • 加入这行你的〜/。vimperatorrc文件:

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

  • 试试看!

+0

我无法添加两个以上的链接,所以你必须谷歌gmail的快捷键。我建议克隆vimperator-plugin目录,这样你可以找到一个像你这样的人:git clone https://github.com/vimpr/vimperator-plugins.git – David

0

随着autocmd solution,也可能是烦人,每次出现消息“为...执行LocationChange自动命令”。

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

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

然后从downloads目录安装vimperator。

10

你可以使用:ignorekeys命令

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

这些域的时候禁用所有Vimperator的键绑定。

+0

这比其他解决方案有什么优势? –