Tmux (Terminal Multiplexer) 是終端機使用者的效率倍增器:單一視窗管理多會話、多視窗、多面板,支援分離/重接會話、彈性佈局、高度可配置。本文涵蓋各發行版安裝、會話管理、視窗操作、面板分割、鍵位綁定、配置技巧與實戰工作流。
| 發行版 | 指令 |
|---|---|
| macOS (Homebrew) | brew install tmux |
| macOS (MacPorts) | port install tmux |
| Debian / Ubuntu | sudo apt-get install tmux |
| RHEL / CentOS / Fedora | sudo yum install tmux (CentOS 需 EPEL) |
| Arch Linux | sudo pacman -S tmux |
C-b)# 建立命名會話
$ tmux new -s mysession
# 離開會話(保持後台運行)
C-b d
# 列出所有會話
$ tmux ls
# 重新連接最後/指定會話
$ tmux attach -t mysession
# 重命名會話
$ tmux rename-session -t old new
# 刪除會話
$ tmux kill-session -t mysession
# 互動式選擇會話
C-b s
# 建立新視窗
C-b c
# 重命名當前視窗
C-b ,
# 切換視窗
C-b 0-9 # 直接跳轉
C-b n / p # 下一個 / 上一個
C-b l # 最後使用的視窗
C-b w # 互動式列表選擇
C-b f # 搜尋視窗名稱
# 關閉視窗
C-b &


# 水平分割(上下)
C-b "
# 垂直分割(左右)
C-b %
# 面板間移動
C-b 方向鍵
# 關閉面板
C-b x
# 關閉除當前外所有面板
C-b !
# 切換佈局(均分、主面板等)
C-b Space

# 更改前綴鍵為 Ctrl-a (類似 Screen)
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# 啟用滑鼠支援 (tmux 2.1+)
set -g mouse on
# 以 vi 模式複製模式
setw -g mode-keys vi
# 面板編號從 1 開始
set -g base-index 1
setw -g pane-base-index 1
# 歷史緩衝區增大
set -g history-limit 10000
# 狀態列顯示 CPU/記憶體 (需安裝 tmux-mem-cpu-load)
set -g status-right "#(tmux-mem-cpu-load) %H:%M %d-%b-%y"
tmux new -s dev 建立開發會話C-b " 水平分割:上方 vim 編輯程式碼,下方 make 編譯/測試C-b c 新視窗:ssh production 遠端部署C-b c 新視窗:tail -f /var/log/app.log 即時日誌C-b d 離開,隔天 tmux attach -t dev 秒回現場TERM=screen-256color,在 .bashrc 設定 export TERM=screen-256colortmux attach 即可恢復set -g mouse on 或使用 C-b [ 進入複製模式(vi 鍵位)