【问题标题】:disable Vimperator temporarily暂时禁用 Vimperator
【发布时间】:2012-12-25 15:34:50
【问题描述】:

如何暂时禁用 Vimperator?例如,当我使用网络电子邮件应用程序时,我想暂时禁用 Vimperator。有命令吗?

【问题讨论】:

  • <Insert><S-Escape> 键暂时禁用所有 Vimperator 键,再次按该键启用它。此功能可能会在 2013 年 1 月 11 日之后引入 Vimperator。

标签: firefox firefox-addon vimperator


【解决方案1】:

使用 Shift+Esc 暂时禁用 Vimperator。再按一次就可以了

【讨论】:

  • 知道 Pentadactyl 的等价物是什么吗?
  • @winchendonsprings 使用 passkeys 命令 :set passkeys+=gmail.com:<Esc> 这将忽略 Gmail 网站上的 Escape 键。
【解决方案2】:

我猜你已经知道 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

【讨论】:

    【解决方案3】:

    你可以使用 :ignorekeys 命令

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

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

    【讨论】:

    • 与其他解决方案相比,这有什么优势?
    【解决方案4】:

    您可以将 gmail/feedly 的 keyboard-shorcuts 与 feedSomeKeys(Vimperator 的插件)一起使用。

    怎么做?

    • 获取thisthis 文件。
    • 复制 ~/.vimperator/plugins 中的两个文件(如果不存在,则创建它)。
    • 在您的 ~/.vimperatorrc 文件中添加以下行:

      :source ~/.vimperator/plugin_libly.js :命令! -nargs=+ 惰性自动命令 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

    • 试试看!

    【讨论】:

    • 我不能添加两个以上的链接,所以你必须谷歌 gmail 快捷方式。我推荐克隆 vimperator-plugin 目录,这样你就可以找到一个喜欢你的: git clone github.com/vimpr/vimperator-plugins.git
    【解决方案5】:

    对于autocmd solution,每次出现消息“Executing LocationChange Auto commands for ...” 时可能会很烦人。

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

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

    然后从downloads目录安装vimperator。

    【讨论】:

      猜你喜欢
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      相关资源
      最近更新 更多