1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

cmux の組み込みブラウザで mo を開く zsh 関数 moo / moc を作った

1
Last updated at Posted at 2026-04-01

背景

mo は Markdown ファイルをブラウザでプレビューできる CLI ツールです。ライブリロード、Mermaid、KaTeX、シンタックスハイライトなど多機能で、ドキュメント作業や LLM との連携ワークフローによく使っています。

一方、記事執筆時点ではターミナル環境として cmux を使っています。cmux は AI コーディングエージェント向けに設計された macOS 用ターミナルで、組み込みブラウザをペインとして配置できます。CLI(cmux browser)でブラウザを制御できるのが特徴です。

mo を起動すると、デフォルトではシステムブラウザ(Safari や Chrome)が開きます。でも cmux を使っているなら、ターミナルの隣に並んだ組み込みブラウザで開きたい。

そこで moo / moc という zsh 関数を作りました。

コード

moo:mo を cmux ブラウザで開く

function moo() {
  local port=6275
  mo --no-open "$@"

  local url="http://localhost:${port}"
  local workspace=$(cmux identify --no-caller 2>/dev/null | grep -o 'workspace:[0-9]*')
  [[ -z "$workspace" ]] && { echo "Error: not in a cmux workspace" >&2; return 1; }
  local surface=$(cmux tree --workspace "$workspace" 2>/dev/null | grep '\[browser\]' | grep -o 'surface:[0-9]*' | head -1)
  if [[ -n "$surface" ]]; then
    cmux browser "$surface" goto "$url"
  else
    cmux browser open "$url" --workspace "$workspace"
  fi
}

mo --no-open でシステムブラウザを開かせず、代わりに cmux browser で組み込みブラウザに URL を開きます。すでにブラウザペインが開いていれば新しく開かず、cmux browser goto で URL を切り替えます。

moc:cmux ブラウザを閉じる

function moc() {
  local workspace=$(cmux identify --no-caller 2>/dev/null | grep -o 'workspace:[0-9]*')
  [[ -z "$workspace" ]] && { echo "Error: not in a cmux workspace" >&2; return 1; }
  local surface=$(cmux tree --workspace "$workspace" 2>/dev/null | grep '\[browser\]' | grep -o 'surface:[0-9]*' | head -1)
  [[ -z "$surface" ]] && { echo "No browser surface found in $workspace" >&2; return 1; }
  cmux close-surface --surface "$surface" --workspace "$workspace"
}

cmux tree でブラウザペインの surface ID を取得し、cmux close-surface で閉じます。mo を終了したあとにブラウザだけ残るのが気になったので作りました。

使い方

# Markdown ファイルを cmux ブラウザで開く
moo README.md

# ブラウザを閉じる
moc

cmux のワークスペース内で実行すると、隣にブラウザペインが開いて mo のプレビューが表示されます。ターミナルから目を離さずに Markdown を確認できて便利です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?