プロジェクトとセッション
サイドバーのプロジェクト、タブとしてのセッション、再起動後の復元など、Zshell の作業整理の仕組み。
プロジェクト
プロジェクトは 1 つの作業単位で、実際には多くの場合 1 つのリポジトリに対応します。専用のターミナル、タブ、パネル状態を持ちます。
Cmd+N で、ターミナルを 1 つ含むプロジェクトを作成します。
現在のセッションのディレクトリ、セッションがなければホームディレクトリで起動するため、通常は cd で目的の場所へ移動します。
その後は Zshell が、ファイルツリーと Git パネルの基準をそのディレクトリを含むリポジトリに合わせます。
cd を省くには、Finder のフォルダを右クリックし、サービス → ここに新しい Zshell プロジェクトを作成(New Zshell Project Here)を選びます。そのフォルダ内でターミナルが起動したプロジェクトが開きます。
Zshell はプロジェクトを単位に切り替えます。
| 操作 | ショートカット |
|---|---|
| 新規プロジェクト | Cmd+N |
| プロジェクト 1–9 に移動 | Cmd+1–9 |
| 次/前のプロジェクト | Opt+Cmd+] / [ |
| プロジェクトサイドバーを非表示 | Cmd+B |
プロジェクト名は選択中のセッションに従い、タブタイトルと同様にターミナルの内容を反映します。 サイドバーで右クリックすると、名前を変更…(Rename…)、元に戻す自動タイトルを使用(Use Automatic Title)、プロジェクトディレクトリを設定…(Set Project Directory…)、プロジェクトを閉じる(Close Project)を選べます。 プロジェクトを閉じるとセッションが終了しますが、ディスク上の内容は変更しません。
共有リモートセッションでは、ペインやプロジェクトを閉じてもクライアントが切り離されるだけで、ホストのシェルとジョブは動き続けます。
保存済み SSH プロジェクト
コマンドパレット(Cmd+P)で新規 SSH プロジェクト…(New SSH Project…)を選びます。 ホスト、任意のユーザーとポート、開くリモートディレクトリを入力します。 認証方法として SSH Agent、パスワード(Password)、秘密鍵ファイル(Private Key File)、秘密鍵テキスト(Private Key Text)を選び、接続を保存して接続(Connect)を押します。
保存した接続は再起動後も残ります。任意のグループ(Group)欄で一覧を整理し、編集・削除ボタンで項目を管理できます。 パスワードと貼り付けた秘密鍵は macOS キーチェーンに保存し、秘密鍵ファイルの場合は既存の鍵へのパスを記憶します。
コマンドや追加オプション付きの SSH 起動はクイック起動を参照してください。
サイドバーのグループ
サイドバー下部の新規グループ(New Group)から、通常のグループ(Plain Group)またはフォルダグループ…(Folder Group…)を作成できます。 通常のグループはホームディレクトリ、フォルダグループは選んだフォルダを新しいターミナルの既定位置にします。明示的なプロジェクトディレクトリの指定が優先されます。 プロジェクトを別のグループへ移動しても、実行中のターミナルや固定ディレクトリは変えません。
プロジェクトをグループヘッダーや別のプロジェクトへドラッグして整理できます。 サイドバー下部の +(新規プロジェクト)へドラッグするとグループから外れます。グループヘッダーもドラッグで並べ替えられます。 クリックで折りたたみ・展開、ダブルクリックで名前変更、その他はコンテキストメニューを使います。 色マーカーを設定…(Set Color Marker…)で色を付け、色マーカーを削除(Remove Color Marker)で解除します。 グループを削除(Remove Group)しても、所属するプロジェクトは開いたままです。 番号のショートカットは現在表示中のプロジェクト行に従います。次/前のプロジェクトへの移動では、折りたたまれたグループ内の項目も表示できます。
Finder のフォルダはサイドバーのプロジェクト一覧のどこにでもドロップできます。すでに開いているフォルダなら、新規プロジェクトを重複作成せず既存のものにフォーカスします。
プロジェクトディレクトリ
ファイルツリーと Git パネルは表示対象のフォルダを必要とします。 標準では、ターミナルの現在のディレクトリから親をたどり、最も近い包含する Git リポジトリを Zshell が自動判定します。
そのため、リポジトリ内で cd してもファイルツリーが飛び回らず、ルートはリポジトリのルートに留まります。リポジトリ外ではターミナルの移動にそのまま追従します。
フォアグラウンドのプログラムが別のチェックアウトに移動した場合、たとえばエージェントが自分の Git ワークツリーへ入ると、ファイル・Git・情報パネルはそちらに追従します。前面の処理が戻るとパネルも戻ります。 手動で固定したプロジェクトディレクトリは常に優先され、この自動的な基準変更を無効にします。
固定するにはプロジェクトを右クリックし、プロジェクトディレクトリを設定…を選びます。 固定したフォルダは再起動後も保持され、自動ディレクトリを使用(Use Automatic Directory)で自動判定へ戻せます。
情報パネル(Cmd+Shift+I)では、値が異なる場合にシェルの現在の現在のディレクトリ(Current Directory)と、パネルの基準であるプロジェクトディレクトリ(Project Directory)の両方を表示します。自動判定の場合は (AUTO) が付きます。
セッション
各プロジェクトには好きな数のセッションを作成でき、上部のタブとして表示されます。
セッションは zsh、fish、bash などアカウントで設定した実際のログインシェルで、独自の作業ディレクトリとスクロールバックを持ちます。
| 操作 | ショートカット |
|---|---|
| 新規セッション | Cmd+T |
| タブ 1–9 に切り替える | Ctrl+1–9 |
| 最近使用した順のタブ切り替え | Ctrl+Tab |
| 次/前のタブ | Cmd+Shift+] / [ |
| フォーカス中のペインを閉じる | Cmd+W |
新しいローカルセッションは、固定したプロジェクトディレクトリがあればそこを使い、次にサイドバーグループの既定ディレクトリを使います。 どちらもなければ現在のセッションのディレクトリを引き継ぎ、取得できない場合はホームディレクトリになります。
タブグループ
タブを右クリックし、グループへ移動 → 新規タブグループ(Move to Group → New Tab Group)を選びます。 タブが新規グループに入り、名前のない色付き矢印として表示されます。グループ内のタブから作る新しいセッションも同じグループに入ります。 グループの矢印を右クリックしてグループ内に新規セッション(New Session in Group)を選ぶと、直接作成できます。
タブをグループの矢印や別のタブへドラッグして移動できます。コンテキストメニューにも各グループとグループから削除(Remove from Group)を表示します。 矢印のクリックで折りたたみ・展開できます。折りたたんでもアクティブなターミナルは動作と表示を続け、隠れた項目へ切り替えるとグループを展開します。 グループを削除してもタブとセッションは開いたままです。グループ内のタブを固定すると、グループ外の固定領域へ移動します。 矢印の右クリックから色マーカーを設定…または色マーカーを削除を選べます。色と折りたたみ状態は Zshell の再起動後も復元されます。
タブをサイドバーのプロジェクトにドロップすることも、グループヘッダーにドロップしてそのグループ内に新規プロジェクトを作ることもできます。 サイドバー下部の +(新規プロジェクト)へドロップすると、どのグループにも属さないプロジェクトを作ります。 タブメニューのタブをプロジェクトへ移動(Move Tab to Project)では別のウィンドウも選べます。 これらの移動では実行中のターミナルとペイン配置を保持します。プロジェクトのローカル/SSH の接続先は同じである必要があります。タブから新規プロジェクトを作ると元の接続先を引き継ぎます。差分を含むタブは現在のプロジェクトに留まります。
タブタイトル
タブタイトルは、シェルのプロンプト用エスケープシーケンスや実行中のプログラムなど、ターミナルの報告内容に従います。 右クリックの名前を変更…で手動指定し、自動タイトルを使用で追従に戻せます。
ほかのタブメニューには閉じる(Close)、ほかを閉じる(Close Others)、右側のタブを閉じる(Close Tabs to the Right)、すべて閉じる(Close All)、セッションのディレクトリをFinder に表示(Reveal in Finder)、絶対パスをコピー(Copy Absolute Path)があります。 ファイルを閉じる(Close Files)と差分を閉じる(Close Diffs)は、プロジェクト内の該当コンテンツだけを閉じ、ターミナルとブラウザペインは残します。
ウィンドウ
Cmd+Shift+N で別のウィンドウを開きます。 各ウィンドウは独立したプロジェクトとサイドバー状態を持ち、それぞれ別に復元されます。
再起動後に残るもの
Zshell は作業中にレイアウトのスナップショットを保存するため、終了して開き直すと次のものが戻ります。
- すべてのプロジェクトとその順序
- すべてのタブ、任意の名前、固定状態、色マーカー
- サイドバーグループの名前、色、順序、所属、折りたたみ状態
- タブグループの色、順序、所属、折りたたみ状態
- 固定したプロジェクトディレクトリと空のプロジェクト
- 各タブ内のペイン配置
- 開いていたサイドバーと選択中の右パネル
元のターミナルの PTY が利用できず、エージェントの会話を再開 と AI 連携が有効な場合、検証済みの Claude Code、Codex、Pi、OpenCode の元の会話を再開します。他のペインは元のディレクトリで新しいシェルを開きます。会話は元の ID で復元し、実行中のビルドをコマンドの再実行で復元することはありません。
以前のスクロールバックは、terminal.restore-history が有効な場合に復元します。新しい設定では標準でオンになり、復元用の履歴はディスクに保存されます。
ターミナルの環境と初期化
プロジェクトを選び、ターミナル → プロジェクトのターミナル環境…(Project Terminal Environment…)で環境変数と初期化コマンドを設定します。 現在のタブで上書きする場合は、ターミナル → タブのターミナル環境…(Tab Terminal Environment…)を使います。
| 範囲 | 動作 |
|---|---|
| プロジェクト | このプロジェクトの新しいターミナルは変数と初期化コマンドを引き継ぎます |
| タブ | 同名のプロジェクト変数を上書きします。コマンドはプロジェクトのものを継承・置換・無効化できます |
変更は保存後に作成するターミナルにだけ適用され、既存プロセスの環境は変わりません。
初期化は通常のログインシェルで実行され、カスタム起動プログラムや明示的な argv には適用されません。
ZSHELL_*、TERM、COLORTERM、TERM_PROGRAM、TERM_PROGRAM_VERSION は Zshell が管理し、上書きできません。