tmux 速查表
可搜尋、可列印的 tmux 參考:session、window、pane、複製模式、前綴重新綁定、設定、外掛與腳本化。免費。
Sessions
11tmux new -s work
Start a named session
tmux new -s work -d
Start detached (in the background)
tmux new -As work
Attach if it exists, else create
tmux ls
List running sessions
tmux attach -t work
Attach to a session (a = attach)
Prefix d
Detach from the current session
Prefix $
Rename the current session
Prefix s
Interactive session switcher
Prefix ( / )
Previous / next session
tmux kill-session -t work
Kill one session
tmux kill-server
Kill all sessions and the server
Windows
10Prefix c
Create a new window
Prefix ,
Rename the current window
Prefix n / p
Next / previous window
Prefix 0..9
Jump to window by number
Prefix l
Toggle to the last-used window
Prefix w
Interactive window list
Prefix f
Find a window by name
Prefix &
Kill the current window (confirms)
Prefix .
Move window to another index
swap-window -s 2 -t 0
Swap two windows by index
Panes
12Prefix %
Split vertically (side by side)
Prefix "
Split horizontally (stacked)
Prefix arrow keys
Move between panes
Prefix o / ;
Next pane / last-active pane
Prefix q
Show pane numbers (press to jump)
Prefix z
Zoom: toggle pane full-screen
Prefix x
Kill the current pane (confirms)
Prefix { / }
Swap pane with previous / next
Prefix Ctrl+arrow
Resize pane one cell at a time
Prefix Space
Cycle built-in pane layouts
Prefix !
Break the pane into its own window
join-pane -s 2 -t 1
Move a pane into another window
Copy mode & scrolling
11Prefix [
Enter copy mode (scroll history)
q / Escape
Leave copy mode
Prefix PgUp
Enter copy mode scrolled one page up
Space then Enter
Start selection, then copy (emacs)
v then y
Start selection, then copy (vi keys)
Prefix ]
Paste the copied text
/ and ?
Search forward / backward
n / N
Next / previous search match
g / G
Top / bottom of history (vi keys)
setw -g mode-keys vi
Use vi keys in copy mode
tmux capture-pane -p > out.txt
Dump pane contents to a file
Prefix key & rebinding
9Ctrl+b
The default prefix key
Prefix key, then the command key
Press separately, not together
set -g prefix C-a
Use Ctrl+a as prefix (screen style)
unbind C-b
Free the old prefix binding
bind C-a send-prefix
Prefix twice sends it to the app
bind r source-file ~/.tmux.conf
Reload config with Prefix r
bind -n M-Left select-pane -L
-n = no prefix needed (Alt+Left)
bind -r H resize-pane -L 5
-r = key repeats within timeout
tmux list-keys
Show all current key bindings
Command mode (:)
9Prefix :
Open the tmux command prompt
:new-window -n logs
New window named "logs"
:split-window -h
Split the pane horizontally
:rename-session dev
Rename the current session
:setw synchronize-panes on
Type into all panes at once
:swap-pane -s 0 -t 1
Swap two panes by index
:resize-pane -D 10
Resize down by 10 cells
:source-file ~/.tmux.conf
Reload the configuration
:kill-server
Stop tmux entirely
Configuration essentials
11set -g mouse on
Mouse: select panes, resize, scroll
set -g base-index 1
Number windows from 1, not 0
setw -g pane-base-index 1
Number panes from 1 too
set -g renumber-windows on
Re-number after closing a window
setw -g mode-keys vi
vi keys in copy mode
set -g history-limit 50000
Bigger scrollback buffer
set -g default-terminal "tmux-256color"
Proper colors inside tmux
set -sg escape-time 0
No Esc delay (helps vim users)
bind | split-window -h
Memorable split: | = vertical
bind - split-window -v
Memorable split: - = horizontal
set -g focus-events on
Pass focus events to programs
Plugins & TPM
10git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Install the plugin manager
set -g @plugin 'tmux-plugins/tpm'
Declare TPM in .tmux.conf
run '~/.tmux/plugins/tpm/tpm'
MUST be the last config line
Prefix I
Install newly declared plugins
Prefix U
Update installed plugins
Prefix Alt+u
Remove undeclared plugins
@plugin 'tmux-plugins/tmux-resurrect'
Save/restore sessions across reboots
@plugin 'tmux-plugins/tmux-continuum'
Auto-save sessions periodically
@plugin 'tmux-plugins/tmux-yank'
Copy to the system clipboard
@plugin 'tmux-plugins/tmux-sensible'
Sane defaults everyone agrees on
Sharing & pairing
8tmux -S /tmp/pair new -s pair
Session on a shared socket file
chmod 777 /tmp/pair
Let the partner access the socket
tmux -S /tmp/pair attach
Partner attaches to the socket
tmux attach -t work -r
Attach read-only (view, no typing)
Two clients, one session
Both mirror the same window
tmux new -s me -t work
Grouped session: independent windows
ssh user@host -t tmux new -As dev
SSH straight into a tmux session
setw -g aggressive-resize on
Size to the active client, not min
Scripting from the shell
10tmux new -d -s job 'npm run build'
Run a command in a detached session
tmux send-keys -t job 'ls -la' Enter
Type into a session remotely
tmux send-keys -t job C-c
Send Ctrl+C to stop a process
tmux has-session -t job 2>/dev/null && echo up
Check if a session exists
tmux capture-pane -t job -p
Print a pane's output to stdout
tmux split-window -t job -h 'htop'
Split and run a command in it
tmux select-window -t job:2
Target session:window from scripts
tmux display-message -p '#S'
Print the current session name
tmux list-panes -a
List every pane on the server
tmux wait-for done
Block until a signal is fired
Status bar
10set -g status off
Hide the status bar entirely
set -g status-position top
Move the bar to the top
set -g status-style bg=black,fg=white
Bar colors
set -g status-left '[#S] '
Show the session name on the left
set -g status-right '%H:%M %d-%b'
Clock and date on the right
set -g status-interval 5
Refresh the bar every 5 seconds
setw -g window-status-current-style fg=green
Highlight the active window
#S #I #W #P #H
Session, window idx/name, pane, host
#(uptime | cut -d, -f1)
Embed shell output in the bar
set -g status-justify centre
Center the window list
Troubleshooting
10tmux -V
Show the tmux version
tmux info
Dump server, client and terminal info
tmux show-options -g
List all global option values
Config changes not applied
.tmux.conf loads at server start only
Prefix : source-file ~/.tmux.conf
Reload config without restarting
"sessions should be nested with care"
You ran tmux inside tmux ($TMUX set)
TERM=xterm-256color tmux
Fix wrong/missing colors outside
Esc feels laggy in vim
Set escape-time 0 (see config)
tmux kill-server
Last resort: full clean restart
Sessions gone after reboot
Server is not persistent; use resurrect
沒有條目符合「:q」。
關於 tmux 速查表
這份 tmux 速查表把按鍵綁定與指令集中在一個可搜尋的頁面:session、window、pane、複製模式與捲動、前綴鍵及其重新綁定、指令模式、設定要點、外掛與 TPM、共用與結對、從 shell 腳本化、狀態列,以及疑難排解。
tmux 幾乎完全是建立在單一前綴鍵上的肌肉記憶,因此速查表將每個綁定顯示為前綴加上按鍵,並在有對應 shell 指令時一併列出,方便您以腳本控制 session,而不是手動操作。
與本群組的每份速查表一樣,它免費且在用戶端執行:用搜尋框即時篩選列、用固定的目錄在各段落間跳轉、一鍵複製任何指令,並可列印頁面放在終端機旁參考。
如何使用 tmux 速查表
- 開啟速查表並檢視各段落,從「Session」與「Window」到「疑難排解」。
- 搜尋 split、detach 或 copy 等關鍵字,即時篩選每一列。
- 想更改前綴或 pane 綁定時,跳到「設定要點」。
- 點選指令或其複製圖示,即可直接複製到終端機或 .tmux.conf。
- 使用列印取得完整 tmux 參考的紙本。
常見問題
共十二個段落:session、window、pane、複製模式與捲動、前綴鍵與重新綁定、指令模式、設定要點、外掛與 TPM、共用與結對、shell 腳本、狀態列,以及疑難排解。
Ctrl-b。前綴段落以它為基準顯示每個綁定,並提供若您偏好可將它改綁為 Ctrl-a 的 .tmux.conf 設定行。
複製模式段落涵蓋進入複製模式、在其中移動與搜尋、開始與結束選取,以及貼上緩衝區:同時支援 emacs 與 vi 按鍵模式。
可以。點選任一列或其複製圖示,指令就會立即複製。
是的,完全免費,在瀏覽器中執行,無需登入。
熱門搜尋
tmux 速查表
tmux 指令
tmux 快速鍵
tmux 分割視窗
tmux 複製模式
tmux 設定範例
tmux session 指令
需要協助?
使用此工具時遇到問題?請告訴我們的團隊。