コンテンツにスキップ

外部ブラウザとポート転送

shijimi にブラウザは入っていません。Web ページは、手元のブラウザで開きます。リモートの VM で動かしている開発サーバーは、ポート転送して手元のブラウザで見ます(下の「リモートの VM で使う例」)。

外部ブラウザで開く

  • Space o(Helix モード):カーソル位置の URL を開きます。
  • :open-url [URL]:URL を開きます。省略するとカーソル位置の URL を開きます。

Linux では xdg-open、macOS では open を使います。

ポート転送

:browser forward <対象ポート> [待ち受けポート] を実行すると、shijimi が 127.0.0.1 で待ち受け、localhost:<対象ポート> へ TCP で転送します。 HTTP も WebSocket も通ります。

コマンド 動作
:browser forward <対象ポート> [待ち受けポート] 転送を始める。待ち受けポートを省略すると、空いているポートを選ぶ
:browser list 転送の一覧
:browser stop <待ち受けポート> 転送を止める

shijimi を終了すると、すべての転送が止まります。

リモートの VM で使う例

VM で shijimi を動かし、開発サーバーを手元のブラウザで見る手順です。

  1. VM の shijimi で :browser forward 3000 を実行します。表示された待ち受けポートを控えます。
  2. 手元で次を実行します。

    ssh -L 8080:127.0.0.1:<待ち受けポート> vm
    
  3. 手元のブラウザで http://localhost:8080 を開きます。

直接 ssh -L するのに比べて、次の利点があります。

  • 待ち受けポートを固定できます。
  • 0.0.0.0 や IPv6 だけで待ち受けるサーバーも、127.0.0.1 で受けられます。

この 2 つが不要なら、ssh -L を直接使ってください。

待ち受けアドレス

[browser]
listen-host = "127.0.0.1"

既定は 127.0.0.1 です。0.0.0.0 に変えるのは、信頼できるネットワークの中だけにしてください。

書く場所

[browser] は ~/.config/shijimi/config.toml か .shijimi/config.toml に書きます。 .helix/config.toml に書くと、Helix が未知のセクションとして拒否します。