專案與工作階段
Zshell 如何組織你的工作——側邊欄裡的專案、作為分頁的工作階段,以及重新啟動後還剩下什麼。
專案
一個專案就是一件正在做的事——實際用起來通常就是一個儲存庫——有自己的終端機、分頁和面板狀態。
Cmd+N 新建一個,裡面帶一個終端機。這個終端機從當前工作階段的目錄啟動;如果沒有當前工作階段,就從你的使用者家目錄啟動,所以接下來通常是 cd 到目標位置。剩下的 Zshell 會接手:檔案樹和 git
面板會錨定到包含那個目錄的儲存庫上。
想省掉這次 cd,在 Finder 裡右鍵一個資料夾,選 服務 → 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。關閉專案會結束它的工作階段,但不會動磁碟上的任何東西。
遠端共用工作階段採用不同的關閉方式:關閉窗格或專案只會分離此用戶端,主機的 shell 與工作繼續執行。
儲存 SSH 專案
打開指令面板(Cmd+P),選擇 新建 SSH 專案…。填寫主機、 可選的使用者名和連接埠,以及要打開的遠端目錄。認證方式可選 SSH 代理、密碼、 私鑰檔案或私鑰內容;儲存連線後,選中它並點擊 連線。
儲存的連線會在重新啟動後保留。可選的 分組 字段用於整理連線列表,每條連線旁邊的編輯、 刪除按鈕用於維護條目。密碼和貼上的私鑰儲存在 macOS 鑰匙串中;選擇私鑰檔案時,記錄的是 已有密鑰檔案的路徑。
經常執行的指令或需要附加 SSH 選項的啟動項,可以使用快速啟動。
側邊欄分組
點擊側邊欄底部的 新建分組,可以創建普通分組或資料夾分組。普通分組中新建的終端機從使用者家目錄啟動;資料夾分組提供選定的預設目錄。手動固定的專案目錄始終優先。移動專案到其他分組,不會改變正在執行的終端機,也不會覆蓋已固定的目錄。
把專案拖到分組標題或另一個專案上即可歸組,拖到側邊欄底部的 +(新建專案) 可以移出分組。分組標題之間也可以拖拽排序。單擊標題折疊或展開,雙擊重新命名,右鍵打開分組選單。通過 設定顏色標記… 自訂分組顏色,或用 移除顏色標記 清除。移除分組 會保留其中所有專案。數字快速鍵按當前可見專案的順序排列;上一項、下一項導航可以切到折疊組內的專案,並自動展開該組。
也可以從 Finder 把資料夾拖到側欄專案列表。已打開的資料夾會被選中,不會重復創建專案。
專案目錄
有兩個面板需要知道自己在顯示哪個資料夾:檔案樹和 git 面板。預設情況下 Zshell 自己判斷—— 它從終端機的當前目錄出發,往上找到最近的那個包含它的 git 儲存庫。
所以在儲存庫裡 cd 來 cd 去,檔案樹不會跟著跳:儲存庫根目錄始終是根目錄。不在儲存庫裡時,這兩個面板就單純跟著終端機走。
如果前台程式進入了另一個 checkout——比如 agent 切進自己的 Git worktree——檔案、Git 和資訊面板會跟著那個 checkout,前台任務回來時再恢復。手動固定的專案目錄始終優先,也會關閉這種自動換根。
想固定住,右鍵專案選 Set Project Directory…。固定的目錄會跨重新啟動記住,Use Automatic Directory 則交還自動判斷。
資訊面板(Cmd+Shift+I)兩個都顯示:shell 實時的
Current Directory(與下面不同時才出現),以及面板錨定的 Project Directory,自動推導時標著 (AUTO)。
工作階段
每個專案可以有任意多個工作階段,顯示為頂部的分頁。一個工作階段就是一個真正的登錄 shell——
zsh、fish、bash,你帳戶設成什麼就是什麼——各有自己的工作目錄和捲動歷史。
| 操作 | 快速鍵 |
|---|---|
| 新建工作階段 | Cmd+T |
| 切到第 1–9 個分頁 | Ctrl+1–9 |
| 分頁切換器(按最近使用) | Ctrl+Tab |
| 下一個 / 上一個分頁 | Cmd+Shift+] / [ |
| 關閉當前窗格 | Cmd+W |
本地新工作階段優先從固定的專案目錄啟動,其次使用側欄分組的預設目錄。沒有這兩項時,它繼承當前工作階段的目錄,再回退到使用者家目錄。
分頁分組
右鍵分頁選擇 移動到分組 → 新建分頁分組。該標籤會加入新組,分組在標籤欄中僅顯示彩色箭頭,不顯示名稱。選中組內標籤後新建的工作階段會留在該組;右鍵分組箭頭選擇 在分組中新建工作階段,也可以直接在組內創建工作階段。
把標籤拖到分組箭頭或另一個標籤上即可移動。快速選單也可以選擇目標分組,或 移出分組。單擊分組箭頭折疊、展開。折疊時當前終端機仍會執行並繼續顯示;切換到隱藏的標籤會自動展開其分組。移除分組會保留所有標籤與工作階段。固定組內標籤時,該標籤會移到分組之外的固定區。右鍵分組箭頭可以 設定顏色標記… 或 移除顏色標記。分頁分組的顏色、折疊狀態都會在重新啟動後恢復。
標籤還可以拖到側欄已有專案,或拖到側欄分組標題,在該分組內創建新專案。拖到側邊欄底部的 +(新建專案) 會創建不屬於任何側欄組的新專案。快速選單的 移動分頁到專案 也支持其他視窗。移動會保留執行中的終端機和窗格佈局。目標專案必須具有相同的本地或 SSH 位置;從標籤創建新專案時會繼承來源位置。包含 Diff 的標籤保留在原專案中。
分頁標題
分頁標題來自終端機自己報告的內容——你 shell 提示符裡的轉義序列,或者當前正在跑的程式。右鍵分頁可以 Rename… 手動改名,Use Automatic Title 則回到跟隨終端機。
分頁選單裡其餘的是常規那一套:Close、Close Others、Close Tabs to the Right、 Close All,外加針對工作階段目錄的 Reveal in Finder 和 Copy Absolute Path。Close Files 與 Close Diffs 會清掉專案裡的對應內容,但保留終端機和瀏覽器窗格。
視窗
Cmd+Shift+N 新開一個視窗。視窗之間互相獨立——各自的專案、各自的側邊欄狀態——恢復時也是分開恢復的。
重新啟動後還剩下什麼
Zshell 會隨著你的操作持續快照佈局,所以退出再打開會拿回:
- 每個專案,順序不變
- 每個分頁,包括自訂名稱、固定狀態和顏色標記
- 側邊欄分組的名稱、顏色標記、順序、成員和折疊狀態
- 分頁分組的顏色標記、順序、成員和折疊狀態
- 固定的專案目錄和空專案
- 每個分頁裡的窗格佈局
- 哪些側邊欄是打開的、右側選中的是哪個面板
原終端 PTY 不可用時,若啟用了 恢復 Agent 對話 和 AI 支援,Zshell 會繼續已驗證的 Claude Code、Codex、Pi 或 OpenCode 原對話。其他窗格在原目錄開啟新 shell。對話依原身分恢復;Zshell 不會重播命令來恢復執行中的建置。
開啟 terminal.restore-history 時會恢復之前的捲動歷史。
新配置預設開啟;恢復的捲動歷史會儲存在磁碟上。
終端機環境與初始化指令
選中專案後,通過 Terminal → Project Terminal Environment… 配置專案環境變數和初始化指令。 要只修改當前分頁,使用 Terminal → Tab Terminal Environment…。
| 範圍 | 生效方式 |
|---|---|
| 專案 | 之後在該專案中新建的終端機繼承這些變數和初始化指令 |
| 分頁 | 同名變數覆蓋專案變數;初始化指令可繼承、替換或禁用 |
儲存後只影響之後創建的終端機,已經執行的程序不變。初始化指令僅用於正常的登錄 shell;自訂啟動程式或顯式傳入 argv 時不執行。
ZSHELL_*、TERM、COLORTERM、TERM_PROGRAM 和 TERM_PROGRAM_VERSION 由 Zshell 管理,不能覆蓋。