Vimperator-如何使用当前页面的 url 作为 shell 命令参数

Vimperator-如何使用当前页面的 url 作为 shell 命令参数

我需要使用当前页面的 URL 作为通过 :! 执行的命令的参数。我不想用鼠标将其复制到那里或键入它。

有什么办法可以做到这一点?

我的目的是将此 URL 发送给 Emacts,该 URL 应自动插入到 Vimperator 中的命令行,然后我想在那里输入一些带有页面/标签描述的文本。

答案1

这可能不是实现此目的的最佳方法,但这是我使用过的一种解决方法。自动命令可以访问多个关键字(请参阅http://vimperator.org/help/vimperator/autocommands.xhtml),其中有关键字“url”。所以

:au PageLoad * :!echo "<url>" >/tmp/mycurrenturl

安装一个自动命令,将您的 URL 保存在您的脚本可以访问的临时文件中。

如果有人能发布更优雅的解决方案我将不胜感激。

答案2

使用 Vimperator 3.4 - 在用户定义的命令中 - 我使用当前缓冲区的 URL 如下:

command -nargs=0 <name> :execute "!echo " + content.location.href

这定义了用户命令:<name>,它不带任何参数。它调用 Vimperator 命令,:execute该命令接受一个字符串并执行它,就好像您是输入它的人一样。在本例中,它接受字符串"!echo " + content.location.href。将其content.location.href评估为 JavaScript 表达式(或类似的东西)并返回执行命令的页面的 URL。

执行:<name>页面输出以下内容(在短暂弹出终端窗口之后 - 在 Windows 7 上,使用 Cygwin 的 Bash 作为我的 shell):

http://superuser.com/questions/363654/vimperator-how-to-use-current-pages-url-as-shell-command-argument

相关内容