測驗:tmux 核心操作:視窗、面板與會話管理
共 5 題,點選答案後會立即顯示結果
1. tmux 的三層架構由外到內的正確順序是什麼?
2. tmux 的前綴鍵(prefix key)預設是什麼?它的作用是什麼?
3. 你在 tmux 裡按了 Ctrl+b d 之後會發生什麼事?
4. 你看到 tmux 狀態列顯示如下內容:
這代表什麼意思?
5. 你正在 tmux 中使用 Claude Code,畫面被分成左右兩個面板,但左邊面板太小看不清楚 Claude Code 的輸出。以下哪個操作流程最合適?
一句話說明
tmux 把你的終端機分成三層結構(會話、視窗、面板),讓你同時做很多事而不會搞混。
為什麼你需要懂這些操作
上一篇我們說了為什麼要用 tmux。這一篇要教你實際操作。
想像一個場景:你在左邊面板用 Claude Code 改程式碼,右邊面板即時看檔案變化,底下面板跑測試。如果 SSH 斷線了?沒關係,重新連上來,tmux attach 一下,所有東西都還在。
要做到這些,你需要搞懂 tmux 的三個核心概念和對應操作。
tmux 的三層架構:session / window / pane
這是整篇文章最重要的概念。tmux 的世界分三層:
Session(會話)
└── Window(視窗)
└── Pane(面板)
生活化比喻
| tmux 術語 | 生活比喻 | 說明 |
|---|---|---|
| Session(會話) | 一張辦公桌 | 一個獨立的工作空間,斷線後還在 |
| Window(視窗) | 桌上的一份文件 | 同一張桌子上可以有多份文件,切換查看 |
| Pane(面板) | 把文件分成左右兩欄 | 同一份文件裡,畫面分割成多個區塊 |
翻譯成白話:
- 你可以有好幾張「辦公桌」(session),每張桌負責一個專案
- 每張桌上有好幾份「文件」(window),例如一份寫程式、一份看 log
- 每份文件可以「分欄」(pane),左邊跑 Claude Code、右邊看結果
Session: "my-project"
├── Window 0: "code" ← 你正在看這個
│ ├── Pane 0: Claude Code(左邊)
│ └── Pane 1: 檔案監控(右邊)
├── Window 1: "server"
│ └── Pane 0: npm run dev
└── Window 2: "git"
└── Pane 0: git log
Code language: JavaScript (javascript)前綴鍵:tmux 的通關密語
在學任何操作之前,你必須先懂一個東西:前綴鍵(prefix key)。
tmux 的預設前綴鍵是 Ctrl+b。
這在幹嘛:因為你在終端機打的每個字都會送到正在跑的程式,tmux 需要一個方法知道「這個指令是給我的,不是給程式的」。所以你要先按 Ctrl+b 告訴 tmux:「接下來這個按鍵是給你的。」
操作方式
1. 先按 Ctrl+b(按完放開)
2. 再按指令鍵(例如 d、c、%)
注意:不是同時按三個鍵。是「先按 Ctrl+b 放開,再按指令鍵」。
最小範例
# 想要從 tmux 暫時離開(detach)
# 步驟:
Ctrl+b # 先按這個,放開
d # 再按 d
# 結果:你回到原本的終端機,tmux 會話在背景繼續跑
Code language: PHP (php)本文後面所有寫 Ctrl+b X 的地方,都是這個意思:先按 Ctrl+b,放開,再按 X。
會話(Session)管理
會話是最外層。每個會話是一個獨立的工作空間。
必看懂的指令
| 你想做什麼 | 指令 | 在哪裡打 |
|---|---|---|
| 建立新會話 | tmux new -s 名稱 |
普通終端機 |
| 列出所有會話 | tmux ls |
普通終端機 |
| 連回會話 | tmux attach -t 名稱 |
普通終端機 |
| 離開會話(不關閉) | Ctrl+b d |
tmux 裡面 |
| 刪除會話 | tmux kill-session -t 名稱 |
普通終端機 |
逐行翻譯
tmux new -s my-project
# tmux new → 建立新會話
# -s → 指定名稱(s = session name)
# my-project → 會話的名字,等等要 attach 回來時用
tmux ls
# 列出目前所有會話
# 輸出長這樣:
# my-project: 1 windows (created Sat Feb 7 10:00:00 2026)
# blog: 2 windows (created Sat Feb 7 09:30:00 2026)
tmux attach -t my-project
# tmux attach → 連回一個存在的會話
# -t → 指定目標(t = target)
# my-project → 要連回哪個會話
Code language: PHP (php)實際操作流程
# 1. 開一個叫 "claude-project" 的會話
tmux new -s claude-project
# 2. 在裡面做事... 跑 Claude Code 之類的
# 3. 要去吃飯了,按 Ctrl+b d 離開(detach)
# 會話在背景繼續跑,Claude Code 不會斷
# 4. 吃完飯回來
tmux attach -t claude-project
# 所有東西都還在,繼續工作
Code language: PHP (php)重點:detach 不是關閉,是「把會話放到背景」。就像你把辦公桌上的東西留著,人走開而已。
視窗(Window)管理
視窗是中間層。同一個會話裡可以有多個視窗,像瀏覽器的分頁。
必看懂的操作
| 你想做什麼 | 按鍵 | 說明 |
|---|---|---|
| 新建視窗 | Ctrl+b c |
c = create |
| 下一個視窗 | Ctrl+b n |
n = next |
| 上一個視窗 | Ctrl+b p |
p = previous |
| 切到第 N 個視窗 | Ctrl+b 數字 |
例如 Ctrl+b 0 切到第 0 個 |
| 重新命名視窗 | Ctrl+b , |
按完會出現輸入框 |
| 關閉視窗 | Ctrl+b & |
會問你確認 |
狀態列怎麼看
tmux 畫面最下方有一條狀態列,長這樣:
[claude-project] 0:code* 1:server 2:git
Code language: CSS (css)翻譯:
[claude-project]→ 會話名稱0:code*→ 視窗 0,名叫 code,*表示你正在看這個1:server→ 視窗 1,名叫 server2:git→ 視窗 2,名叫 git
實際操作流程
# 1. 你已經在 tmux 會話裡了
# 2. 建立新視窗
Ctrl+b c
# 狀態列變成:0:bash 1:bash*
# ↑ 你在這裡
# 3. 幫視窗取個名字
Ctrl+b ,
# 底下出現輸入框,打 "server" 按 Enter
# 狀態列變成:0:bash 1:server*
# 4. 切回第一個視窗
Ctrl+b 0
# 狀態列變成:0:bash* 1:server
# ↑ 你在這裡
Code language: PHP (php)面板(Pane)管理
面板是最內層。把一個視窗的畫面切成好幾塊,同時看多個東西。
必看懂的操作
| 你想做什麼 | 按鍵 | 記憶方式 |
|---|---|---|
| 左右分割 | Ctrl+b % |
% 中間有條直線,像左右分割 |
| 上下分割 | Ctrl+b " |
" 上下兩個點,像上下分割 |
| 切換面板 | Ctrl+b 方向鍵 |
方向鍵指向你要去的面板 |
| 關閉面板 | Ctrl+b x |
x = 叉叉關閉,會問確認 |
| 最大化/還原面板 | Ctrl+b z |
z = zoom |
分割的效果
# 原本只有一個面板
┌─────────────────────────┐
│ │
│ Pane 0 │
│ │
└─────────────────────────┘
# 按 Ctrl+b % 左右分割
┌────────────┬────────────┐
│ │ │
│ Pane 0 │ Pane 1 │
│ │ │
└────────────┴────────────┘
# 在右邊面板再按 Ctrl+b " 上下分割
┌────────────┬────────────┐
│ │ Pane 1 │
│ Pane 0 ├────────────┤
│ │ Pane 2 │
└────────────┴────────────┘
Code language: PHP (php)Zoom 模式(超實用)
有時候面板太小看不清楚,Ctrl+b z 可以把當前面板暫時放大到全螢幕:
# 按 Ctrl+b z 前
┌────────────┬────────────┐
│ │ Pane 1 │
│ Pane 0 ├────────────┤
│ │ Pane 2 │
└────────────┴────────────┘
# 按 Ctrl+b z 後(Pane 0 放大)
┌─────────────────────────┐
│ │
│ Pane 0(放大中) │
│ │
└─────────────────────────┘
# 狀態列會出現 Z 標記,表示正在 zoom
# 再按一次 Ctrl+b z → 回到原本的分割畫面
Code language: PHP (php)捲動模式:往上看歷史輸出
預設情況下,tmux 裡面沒辦法用滑鼠滾輪往上看。你需要進入捲動模式(copy mode)。
Ctrl+b [ # 進入捲動模式
# 進入後可以:
方向鍵 ↑↓ # 一行一行捲動
Page Up # 往上翻一頁
Page Down # 往下翻一頁
q # 離開捲動模式
Code language: PHP (php)什麼時候會用到:Claude Code 輸出了很長的結果,你想往上看前面的內容。
搭配 Claude Code 的實戰配置
以下是一個 Vibe Coder 最實用的 tmux 配置方式。
場景:用 Claude Code 開發專案
# 1. 建立專案會話
tmux new -s my-app
# 2. 左右分割
Ctrl+b %
# 畫面變成:
# ┌────────────┬────────────┐
# │ │ │
# │ 左面板 │ 右面板 │
# │ │ │
# └────────────┴────────────┘
# 3. 左邊面板:啟動 Claude Code
claude
# 4. 切到右邊面板
Ctrl+b →(右方向鍵)
# 5. 右邊面板:即時監控檔案變化
# 例如用 watch 或 ls -la 看看 Claude 改了什麼
watch -n 1 'git diff --stat'
# 畫面變成:
# ┌────────────┬────────────┐
# │ │ watch 顯示 │
# │ Claude Code│ git 變更 │
# │ 對話中... │ 的檔案 │
# └────────────┴────────────┘
Code language: PHP (php)場景:需要同時看 server log
# 接著上面的配置,在右邊面板上下分割
Ctrl+b "
# 畫面變成:
# ┌────────────┬────────────┐
# │ │ git diff │
# │ Claude Code├────────────┤
# │ │(新面板) │
# └────────────┴────────────┘
# 在新面板跑 server
npm run dev
# 最終畫面:
# ┌────────────┬────────────┐
# │ │ 檔案變化 │
# │ Claude Code├────────────┤
# │ │ server log │
# └────────────┴────────────┘
Code language: PHP (php)操作小技巧
當你要在 Claude Code 面板看完整輸出時:
# 1. 先切到 Claude Code 面板
Ctrl+b ←(左方向鍵)
# 2. 放大它
Ctrl+b z
# 3. 看完了,縮回去
Ctrl+b z
Code language: PHP (php)快速參考卡片
把這張表存起來,忘記的時候翻一下。
會話(在普通終端機打)
tmux new -s 名稱 # 建立會話
tmux ls # 列出會話
tmux attach -t 名稱 # 連回會話
tmux kill-session -t 名稱 # 刪除會話
Code language: PHP (php)tmux 內操作(先按 Ctrl+b 再按)
d 離開會話(detach,不關閉)
c 新建視窗
n / p 下一個 / 上一個視窗
0-9 切到第 N 個視窗
, 重命名視窗
& 關閉視窗
% 左右分割面板
" 上下分割面板
方向鍵 切換面板
x 關閉面板
z 最大化 / 還原面板
[ 進入捲動模式(q 離開)
Vibe Coder 檢查點
學完這篇,確認自己能做到:
- [ ] 能建立一個有名字的 tmux 會話(
tmux new -s 名稱) - [ ] 能 detach 後再 attach 回來,東西都還在
- [ ] 能在同一個會話裡建立多個視窗並切換
- [ ] 能把畫面分成左右兩個面板,一邊跑 Claude Code
- [ ] 知道
Ctrl+b z可以暫時放大面板 - [ ] 知道
Ctrl+b [可以往上捲動看歷史輸出
必看懂 vs 知道就好
必看懂(天天都會用):
- 會話的 new / attach / detach
- 面板的分割(
%和")和切換(方向鍵) - 面板的 zoom(
z)
知道就好(遇到再查):
- 面板大小調整:
Ctrl+b Ctrl+方向鍵可以微調面板大小 - 面板交換位置:
Ctrl+b {和Ctrl+b }可以把面板前後交換 - 同步輸入:
setw synchronize-panes on可以同時在所有面板輸入一樣的指令 - 自訂前綴鍵:很多人會把
Ctrl+b改成Ctrl+a(這是下一篇的內容)
下一篇預告
你現在會操作 tmux 了,但每次操作都要按好幾個鍵,而且預設的分割鍵(% 和 ")也不太直覺。下一篇會教你怎麼透過設定檔 .tmux.conf 來客製化 tmux,讓它更順手,也更適合搭配 Claude Code 使用。
進階測驗:tmux 核心操作:視窗、面板與會話管理
共 5 題,包含情境題與錯誤診斷題。