Ctrl+b → c
建立新的 window。
把 terminal 工作留在背景繼續跑。最重要的概念只有三層:Session 裡有多個 Window,每個 Window 又可以切成多個 Pane。
你可以把 session 想成一個持續存在的工作區。SSH 斷線或 terminal 關掉,只要 tmux server 還在,session 通常都還在。
# 建立一個有名字的 session $ tmux new -s work # 查看目前有哪些 session $ tmux ls # 重新接回指定 session $ tmux attach -t work # 結束指定 session $ tmux kill-session -t work
在 tmux 裡按 Ctrl + b,放開後按 d。這叫 detach,不會關掉 session。
exit,是在關掉 shell;最後一個 pane/window 被關掉時,session 也會結束。tmux attach -t work同一個 session 可以開很多 window,適合把 editor、server、logs 分開。
建立新的 window。
切到下一個 / 上一個 window;也可以直接按 0~9。
重新命名目前 window,方便辨識用途。
Pane 是同一個 window 裡的分割視窗。
| 操作 | 快捷鍵 | 用途 |
|---|---|---|
| 左右分割 | Ctrl+b → % | 切成左右兩個 pane |
| 上下分割 | Ctrl+b → " | 切成上下兩個 pane |
| 切換 pane | Ctrl+b → 方向鍵 | 移動到相鄰 pane |
| 放大 / 還原 | Ctrl+b → z | 暫時把目前 pane 放到最大 |
| 關閉 pane | Ctrl+b → x | tmux 會先詢問是否關閉 |
如果只想先記一小組,這些就夠日常用了。
| 目的 | 指令 / 快捷鍵 | 說明 |
|---|---|---|
| 建立 session | tmux new -s NAME | 建立並進入 |
| 離開但保留 | Ctrl+b → d | Detach |
| 查看 session | tmux ls | 列出目前 tmux sessions |
| 接回 session | tmux attach -t NAME | 重新連回工作環境 |
| 重新命名 session | Ctrl+b → $ | 修改目前 session 名稱 |
| 新增 window | Ctrl+b → c | 建立新分頁 |
| 列出 / 選擇 window | Ctrl+b → w | 顯示可選清單 |
| 進入 copy mode | Ctrl+b → [ | 可以用鍵盤往回捲;按 q 離開 |
tmux 的設定檔通常放在 ~/.tmux.conf。
# ~/.tmux.conf # 開啟滑鼠:選 pane、捲動、調整大小 set -g mouse on # window / pane 編號從 1 開始 set -g base-index 1 setw -g pane-base-index 1 # 增加歷史捲動行數 set -g history-limit 50000
存檔後執行:
tmux source-file ~/.tmux.conf