一些提示(并非双关语)。

一些提示(并非双关语)。

我想在 vimperator 中定义一个自定义的扩展提示:

  1. 匹配正则表达式模式
  2. 与脚本匹配的 feed 如下:~/bin/script regex-match-as-arg

我应该从哪里开始解决这个问题?vimperator 是否有“vimperator-script”功能可以解决这个问题?

谢谢。

答案1

一些提示(并非双关语)。

增加新的扩展提示模式:

  • 您可以使用函数定义模式hints.addMode
  • 您可以使用选项设置要添加提示的模式eht,该选项采用 XPath 选择器。(在 Pentadactyl 中,您还可以使用 CSS 选择器,但我不确定 Vimperator 是否可以使用 - 帮助页面中没有提及它们)

下面是我使用的一个简单的例子吉所网跳转到使用 的汉字信息页面;k

js set eht+=[k]:span[class=text]
hints.addMode('k','open kanji details',function(e) { liberator.open(decodeURIComponent("http://jisho.org/search/" + e.textContent + "%2523kanji")); });

匹配正则表达式:

我不确定 Vimperator 使用的是 XPath 1.0 还是 2.0,甚至不知道它是否允许使用 XPath 表达式的全部功能。我自己只尝试过非常简单的表达式。XPath 1.0 不允许使用正则表达式(因此您必须使用它提供的功能)。但是,XPath 2.0 允许使用正则表达式。正则表达式支持。 那么你可能能够使用它们。(我想自己研究一下这个问题。)

启动脚本:

您可以使用:!命令执行此操作。可以使用从 JS 启动任意“ex”命令liberator.execute(),因此要启动 shell 脚本,您可以将如下函数传递到hints.addMode

function(e) { liberator.execute("!~/bin/script " + e.textContent) }

关于 Pentadactyl 的注释。

这里的所有内容同样适用于 Pentadactyl,除了在 JS API 中,你必须用liberator替换dactyl

稍后我会尝试再看一下这个问题。

相关内容