はじめに
hub browse
便利ですよね。
ただ一つだけ問題なのはリモートサーバからではMacのブラウザ開けないことです。
今まではexport BROWSER=echo
と設定してURLをechoして⌘+クリックして開いてました。
iTerm2の設定をいろいろ弄っていたところ、Triggers機能とCoprocess機能でこれが実現できたので紹介します。
想定環境
設定
まずiterm-https://~というURL schemaをechoするシェルスクリプトを作ります。
# !/bin/sh
echo "iterm-$@"
clear
これを実行権限を与えてPATHの通った場所に置き、BROWSERに指定します。
chmod +x iterm
mv iterm /path/to/bin/
echo "export BROWSER=iterm" >> ~/.zshrc
続いてiTerm2の環境設定を開き、Profiles > Advanced > Triggers を開きます。
ここに以下の様な設定を追加します。
Regular Expression | Action | Parameters |
---|---|---|
iterm-(https?://[\w/:%#$&?()~.=+-]+) | Run Coprocess... | open \1 |
以上でOKです。
hub browse
でMacのブラウザが起動するようになりました!
しくみ
iTerm2のTriggers機能はターミナル画面を監視して、設定した正規表現に対してActionを起こします。
Actionに設定したRun CoprocessというiTerm2の機能は、コプロセスを Mac上 で実行します。
今回はiterm-https://~という文字に反応してhttps://~部分を引数にopen
コマンドを実行するように設定しています。