web-dev-qa-db-ja.com

Vimperator-現在のページのURLをシェルコマンド引数として使用する方法

:!を介して実行するコマンドの引数として、現在のページのURLを使用する必要があります。マウスでコピーしたり、入力したりしたくありません。

これを行う方法はありますか?

ここでの私の意図は、Vimperatorのコマンドラインに自動的に挿入されるこのURLをEmactsに送信することです。その後、ページ/タグの説明を含むテキストを入力したいと思います。

3
Jarek

これはおそらくこれを達成するための最良の方法ではありませんが、私が使用した回避策です。自動コマンドはいくつかのキーワードにアクセスできます( http://vimperator.org/help/vimperator/autocommands.xhtml を参照)。その中にはキーワード「url」があります。そう

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

スクリプトがアクセスできるtmpfileにURLを保持する自動コマンドをインストールします。

誰かがもっとエレガントな解決策を投稿できれば幸いです。

1
teamchef

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を返します。

thisページで:<name>を実行すると、これが出力されます(Windows 7では、CygwinのBashをシェルとして使用して短いポップアップターミナルウィンドウの後):

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