tmux 速查表與命令參考
tmux 是一個終端機複用器:中斷連線後會話繼續執行,一個視窗可分割為多個面板,把單一終端機變成持久的工作區。本頁是快速參考——所有快捷鍵分組詳解。
- 1按下前綴鍵 Ctrl+b
- 2放開
- 3再按功能鍵,如 d
每天最常用的 8 個快捷鍵
先掌握這些——它們涵蓋 90% 的日常操作。
Prefix d
退出後程式繼續執行tmux a
回到最近一次的會話Prefix c
類似瀏覽器分頁Prefix %
並排兩個面板Prefix "
上下堆疊面板Prefix z
再按一次還原Prefix [
複製模式即回捲檢視Prefix s
從清單中選擇會話
會話是 tmux 的核心——中斷連線後工作不遺失。
| 操作 | 快捷鍵 / 命令 | 說明 |
|---|---|---|
| 新增命名會話 | tmux new -s name | 務必給會話命名 |
| 分離 / 重新接入 | Prefix d · tmux a -t name | 日常往返循環 |
| 列出 / 切換 | tmux ls · Prefix s | 選擇器或命令列 |
| 重新命名 / 終止 | Prefix $ · tmux kill-session -t name | 終止不可復原 |
視窗
視窗是會話裡的分頁。
| 操作 | 快捷鍵 | 說明 |
|---|---|---|
| 新增 / 關閉 | Prefix c · Prefix & | 關閉前會確認 |
| 下一個 / 上一個 / 按編號 | n · p · 0…9 (配合前綴鍵) | 按編號跳轉最快 |
| 重新命名 / 清單 | , · w (配合前綴鍵) | 清單即總覽選擇器 |
面板
面板是同一視窗內的分割。
| 操作 | 快捷鍵 | 說明 |
|---|---|---|
| 分割面板 | Prefix % · Prefix " | % 左右並排,引號鍵上下堆疊 |
| 移動 / 調整大小 | Prefix ↑↓←→ · hold Ctrl | 方向鍵移動;Ctrl+方向鍵調整 |
| 全螢幕 / 關閉 | Prefix z · x | z 切換全螢幕 |
複製模式與捲動
捲動前要先進入複製模式——新手第一大困惑。
| 操作 | 快捷鍵 | 說明 |
|---|---|---|
| 進入複製模式 | Prefix [ | 之後用 PgUp/PgDn 或方向鍵 |
| 選取、複製、貼上 | Ctrl+Space · Alt+w · Prefix ] | vi 模式:Space / Enter |
| 搜尋 / 退出 | Ctrl+s · q | vi 模式:/ 和 ? |
自訂 ~/.tmux.conf
多數設定都從這四行開始。
| 目標 | 設定 | 說明 |
|---|---|---|
| 前綴鍵改為 Ctrl+a | set -g prefix C-a | 記得同時 unbind C-b |
| 開啟滑鼠 | set -g mouse on | 點擊、拖曳、滾輪 |
| 回捲 5 萬行 | set -g history-limit 50000 | 預設只有 2 千行 |
| 快速重新載入 | bind r source-file ~/.tmux.conf | 之後 Prefix+r 即可重新載入 |
tmux 新手?接著讀
前綴鍵(Prefix Key)
這份 tmux cheat sheet(速查表)按主題分組,忘了隨時回來查。在開始之前,你必須知道一個概念:所有 tmux 指令(快捷鍵)都需要先按一個前綴鍵(prefix key),鬆開後再按功能鍵。
預設前綴鍵是 Ctrl+b。
本文中用 Prefix 代表這個前綴鍵。舉個例子,Prefix+d 的意思是:先按 Ctrl+b,鬆開,再按 d。
說實話,這個預設鍵位不太順手——左手要跨一大截。很多人的第一個 tmux 設定就是把前綴鍵改成 Ctrl+a(跟 screen 一樣)或者 Ctrl+Space。如果你想改,在 ~/.tmux.conf 裡加一行就行:
unbind C-b
set -g prefix C-a改完之後執行 tmux source-file ~/.tmux.conf 讓它生效。
tmux Cheat Sheet:Session(會話)管理命令
這份 tmux cheat sheet 從最核心的 session 操作開始。Session 是 tmux 的頂層容器——一個 session 裡可以包含多個 window,每個 window 又可以分成多個 pane。
| 操作 | 快捷鍵 / 命令 | 常用度 | 說明 |
|---|---|---|---|
| 新建 session | tmux new -s 名稱 | ⭐⭐⭐ | 建議始終給 session 起個名字 |
| 新建(不命名) | tmux | ⭐⭐ | 會自動生成數字編號 |
| 後台新建 | tmux new -s 名稱 -d | ⭐⭐ | 建立後不自動連接,後台執行 |
| 斷開(detach) | Prefix+d | ⭐⭐⭐ | 退出但保持後台執行,最常用 |
| 重新連接 | tmux attach -t 名稱 | ⭐⭐⭐ | 或簡寫 tmux a -t 名稱 |
| 連接上一個 session | tmux a | ⭐⭐⭐ | 只有一個 session 時最方便 |
| 列出所有 session | tmux ls | ⭐⭐⭐ | 或 tmux list-sessions |
| 切換 session | Prefix+s | ⭐⭐ | 彈出列表選擇 |
| 重命名 session | Prefix+$ | ⭐⭐ | 輸入新名稱回車確認 |
| 殺死指定 session | tmux kill-session -t 名稱 | ⭐⭐ | 關閉並銷毀 |
| 殺死所有 session | tmux kill-server | ⭐ | 核彈按鈕,慎用 |
一個典型的日常操作流程:
# 早上到公司,建立一個叫"work"的 session
tmux new -s work
# 中午吃飯,斷開(session 繼續在伺服器上跑)
# 按 Prefix+d
# 下午回來,重新連接
tmux a -t work
# 下班了,再次斷開就行對了,在 SSH 場景下這個特別有用。你 SSH 到伺服器開個 tmux,跑個耗時任務然後 detach,哪怕網路斷了任務也不會中斷。下次再 attach 回來就能看到輸出。
Window(視窗)快捷鍵與 tmux 常用命令
Window 類似瀏覽器裡的分頁。一個 session 裡可以開多個 window,每個 window 獨立執行。
| 操作 | 快捷鍵 / 命令 | 常用度 | 說明 |
|---|---|---|---|
| 新建 window | Prefix+c | ⭐⭐⭐ | c = create |
| 下一個 window | Prefix+n | ⭐⭐ | n = next |
| 上一個 window | Prefix+p | ⭐⭐ | p = previous |
| 按編號跳轉 | Prefix+0~9 | ⭐⭐⭐ | 直接跳到對應編號的 window |
| 重命名 window | Prefix+, | ⭐⭐ | 給 window 起個有意義的名字 |
| 關閉當前 window | Prefix+& | ⭐ | 會提示確認 |
| 列出所有 window | Prefix+w | ⭐⭐ | 彈出列表,可選擇跳轉 |
| 查找 window | Prefix+f | ⭐ | 按名稱搜尋 |
我自己習慣把 window 按用途命名:一個叫 "editor" 寫程式碼,一個叫 "server" 跑服務,一個叫 "git" 做版本管理。這樣 Prefix+0/1/2 切換起來非常快。
Pane(面板)快捷鍵(Shortcuts)
Pane 是 tmux 的分屏功能,一個 window 可以分成多個 pane。這也是 tmux shortcuts 中使用頻率最高的一組。
分屏
| 操作 | 快捷鍵 / 命令 | 常用度 | 說明 |
|---|---|---|---|
| 水平分屏 | Prefix+" | ⭐⭐⭐ | 上下分成兩半 |
| 垂直分屏 | Prefix+% | ⭐⭐⭐ | 左右分成兩半 |
注意:tmux 裡的"水平"和"垂直"說的是分割線的方向,不是新 pane 出現的位置。
"產生水平分割線(上下),%產生垂直分割線(左右)。這個定義跟很多人直覺相反,記住就好。
導航與切換
| 操作 | 快捷鍵 / 命令 | 常用度 | 說明 |
|---|---|---|---|
| 切換到上方 pane | Prefix+↑ | ⭐⭐⭐ | 方向鍵 |
| 切換到下方 pane | Prefix+↓ | ⭐⭐⭐ | |
| 切換到左方 pane | Prefix+← | ⭐⭐⭐ | |
| 切換到右方 pane | Prefix+→ | ⭐⭐⭐ | |
| 按編號切換 | Prefix+q 然後按數字 | ⭐⭐ | 先按 q 顯示編號,快速按數字跳轉 |
| 循環切換 | Prefix+o | ⭐⭐ | 按順序輪流切換 |
調整大小
| 操作 | 快捷鍵 / 命令 | 常用度 | 說明 |
|---|---|---|---|
| 調整大小 | Prefix 然後按住 Ctrl+↑↓←→ | ⭐⭐ | 每次移動 1 格 |
| 快速調整 | Prefix + 連續按 ↑↓←→ | ⭐⭐ | 進入調整模式後連續按方向鍵 |
說實話調整 pane 大小這個快捷鍵確實不太方便。如果你會頻繁調整,建議在設定檔裡綁定更順手的鍵,或者直接開啟鼠標支援(見後面的設定部分)。
其他 pane 操作
| 操作 | 快捷鍵 / 命令 | 常用度 | 說明 |
|---|---|---|---|
| 關閉當前 pane | Prefix+x | ⭐⭐ | 會提示確認 |
| 關閉(直接關閉) | exit 或 Ctrl+d | ⭐⭐⭐ | 在 pane 裡直接輸入 |
| 將 pane 變成獨立 window | Prefix+! | ⭐ | 當前 pane 拆出去單獨成為一個 window |
| 交換 pane 位置 | Prefix+{ / Prefix+} | ⭐ | 與前/後 pane 交換位置 |
| 顯示 pane 編號 | Prefix+q | ⭐⭐ | 短暫顯示每個 pane 的編號 |
| 切換佈局 | Prefix+Space | ⭐ | 在幾種預設佈局間切換 |
Copy Mode(複製模式)
在 tmux 裡直接用鼠標選文字然後複製?預設是不行的。你需要進入 Copy Mode,這是很多新手不知道的一個功能,但又是複製貼上和翻頁回看的必經之路。
進入 Copy Mode:Prefix+[
進入之後,你就可以用鍵盤上下翻頁、搜尋文字、選擇並複製內容。
預設模式 vs vi 模式
tmux 有兩套 Copy Mode 鍵綁定,預設是 emacs 風格。如果你在設定裡設了 setw -g mode-keys vi,就會切換成 vi 風格。
| 操作 | 預設(emacs) | vi 模式 | 說明 |
|---|---|---|---|
| 上翻一頁 | Ctrl+u | Ctrl+b 或 PgUp | |
| 下翻一頁 | Ctrl+d | Ctrl+f 或 PgDn | |
| 上翻半頁 | 無 | Ctrl+u | |
| 下翻半頁 | 無 | Ctrl+d | |
| 移動游標 | 方向鍵 | h/j/k/l 或方向鍵 | |
| 開始選擇 | Ctrl+Space | Space | |
| 複製選中內容 | Alt+w | Enter | |
| 貼上 | Prefix+] | Prefix+] | 貼上操作在兩個模式下ㄧ樣 |
| 搜尋(向前) | Ctrl+s | / | |
| 搜尋(向後) | Ctrl+r | ? | |
| 退出 Copy Mode | Ctrl+c / q | q / Esc |
提示:vi 模式的快捷鍵對 Vim/Neovim 使用者更友好。如果你平時用 Vim,強烈建議在
~/.tmux.conf裡加一行setw -g mode-keys vi。
在 Copy Mode 裡翻頁查看之前的終端輸出,本質上也解決了"tmux 怎麼滾動"這個問題。進入 Copy Mode 後用 Ctrl+b(vi 模式)或 Ctrl+u(預設模式)就能往上翻了。
滾動與翻頁
很多剛用 tmux 的人第一反應就是"怎麼滾不動?"——因為 tmux 預設不開啟鼠標,鼠標滾輪 在 tmux 裡是無效的。
有三種方式可以滾動回看:
| 方法 | 操作 | 推薦度 |
|---|---|---|
| Copy Mode | Prefix+[ 進入,然後用翻頁鍵瀏覽 | ⭐⭐⭐ |
| 開啟鼠標 | 設定裡加 set -g mouse on | ⭐⭐⭐ |
| 終端原生滾動 | 部分終端模擬器支援 Shift+滾輪 | ⭐⭐ |
如果你只是想臨時滾一下看看之前的輸出,Prefix+[ 進 Copy Mode 最快。如果你希望完全像普通終端一樣用鼠標操作,開鼠標模式更方便——代價是你需要按住 Shift 才能用鼠標選中文字複製到系統剪貼簿。
tmux 常用設定命令
以下設定寫在 ~/.tmux.conf 檔案中,修改後需要重載設定才能生效:
tmux source-file ~/.tmux.conf
# 或者用快捷鍵(如果你綁定了的話)
Prefix + :source-file ~/.tmux.conf| 設定 | 命令 | 說明 |
|---|---|---|
| 修改前綴鍵 | set -g prefix C-a | 從 Ctrl+b 改為 Ctrl+a |
| 開啟鼠標支援 | set -g mouse on | 允許鼠標點擊切換 pane、滾動 |
| 使用 vi 鍵綁定 | setw -g mode-keys vi | Copy Mode 使用 vi 風格操作 |
| 視窗編號從 1 開始 | set -g base-index 1 | 預設從 0 開始,改為 1 更順手 |
| pane 編號從 1 開始 | setw -g pane-base-index 1 | 同上 |
| 關閉視窗自動重編號 | set -g renumber-windows on | 關閉視窗後自動補位 |
| 增大歷史記錄 | set -g history-limit 10000 | 預設 2000 行,建議改大 |
| 減少 ESC 延遲 | set -sg escape-time 0 | 解決 Vim 中 ESC 延遲問題 |
| 狀態欄刷新頻率 | set -g status-interval 5 | 每 5 秒刷新一次狀態欄 |
一份推薦的最小設定
如果你剛用 tmux 不想折騰,這份設定夠用了:
# ~/.tmux.conf — 最小可用設定
set -g prefix C-a # 改前綴鍵
set -g mouse on # 開啟鼠標
setw -g mode-keys vi # vi 風格
set -g base-index 1 # 視窗從 1 開始
set -g history-limit 10000 # 多記點歷史
set -sg escape-time 0 # 去 ESC 延遲
# 快速重載設定
bind r source-file ~/.tmux.conf \\; display-message "設定已重載 ✓"把這段內容儲存到 ~/.tmux.conf,然後在 tmux 裡按 Prefix+: 輸入 source-file ~/.tmux.conf 就能生效。下次按 Prefix+r 就可以一鍵重載了。
命令行常用操作
除了在 tmux 內部用快捷鍵,下面這些 tmux常用命令 直接在命令行執行更方便:
| 命令 | 說明 |
|---|---|
tmux ls | 列出所有 session |
tmux kill-session -t 名稱 | 殺死指定 session |
tmux kill-server | 殺死所有 session,退出 tmux |
tmux new -s 名稱 -d "命令" | 後台建立並執行命令 |
tmux send-keys -t 名稱 "命令" Enter | 向指定 session 發送命令 |
最後這條 send-keys 在寫腳本自動化時特別好用。比如你可以寫一個腳本,自動建立 tmux session,在各個 pane 裡分別啟動不同的服務。
實用技巧
快速恢復工作環境
有一個場景我經常遇到:伺服器重啟後需要重新搭環境。用 tmux 的 send-keys 可以自動化這個過程:
# 建立 session 並自動分屏佈局
tmux new-session -s dev -d
tmux send-keys -t dev 'cd ~/project && vim' Enter
tmux split-window -h -t dev
tmux send-keys -t dev 'cd ~/project && npm run dev' Enter
tmux a -t dev同時操作多個 pane
有時候你想在幾個 pane 裡同時執行同一條命令(比如同時在多台伺服器上查看負載)。按 Prefix+: 輸入:
setw synchronize-panes on之後你在任意一個 pane 裡輸入的內容,會同步發送到所有 pane。再執行一次同樣的命令可以關掉。
把 pane 佈局儲存下來
tmux 本身不儲存 pane 佈局,但你可以用 tmux-resurrect 插件來實現。安裝後按 Prefix+Ctrl+s 儲存,Prefix+Ctrl+r 恢復,非常省事。
FAQ:tmux 常見問題
tmux 怎麼退出?
兩種方式:
- detach(推薦):按
Prefix+d,session 繼續在後台執行,下次可以重新連接 - 徹底退出:在 pane 裡輸入
exit或按Ctrl+d,所有 pane 都退出後 session 就消失了
tmux 怎麼滾動?
預設不支援鼠標滾動。按 Prefix+[ 進入 Copy Mode,然後用方向鍵或翻頁鍵瀏覽歷史輸出。或者開啟鼠標支援:set -g mouse on。
怎麼修改 tmux 的前綴鍵?
在 ~/.tmux.conf 中新增:
unbind C-b
set -g prefix C-a
bind C-a send-prefix然後重載設定。
tmux 裡怎麼用鼠標?
在 ~/.tmux.conf 中新增 set -g mouse on,然後重載。開啟後可以用鼠標點擊切換 pane、拖動分割線調整大小、滾動查看歷史。需要用鼠標選中文字複製到系統剪貼簿時,按住 Shift 再選擇。
tmux 命令太多了記不住怎麼辦?
把這份 tmux命令速查表(cheat sheet)收藏起來就行。說實話日常用到的就是那幾個標了 ⭐⭐⭐ 的:Prefix+d(斷開)、Prefix+c(新視窗)、Prefix+%(分屏)、Prefix+[(翻頁複製)。這幾個記住,其他 tmux指令 需要時查一下就好。
如果你在找拼寫為 "tmux cheet sheet" 的內容——你來對地方了,cheet 是 cheat 的常見拼寫變體。無論你搜的是 cheat sheet 還是 cheatsheet,本頁都能覆蓋。
tmux 和 screen 有什麼區別?
tmux 是 GNU screen 的現代替代品。tmux 支援更靈活的分屏、更好的腳本化能力、活躍的社群和插件生態。如果你在選擇,建議直接用 tmux。
參考來源
- tmux Manual Page — tmux 官方手冊,所有命令的權威說明
- tmux GitHub Repository — tmux 原始碼和版本更新資訊
- tmux-resurrect Plugin — 會話持久化插件
- 更多開發者速查表(cheat sheet)與教程,見網站首頁