tmux是一個終端多路轉換器(multiplexer),它支持在同一個screen內創建、訪問和控制多個終端。tmux可以從screen中被拆解,并在后臺繼續保持運行,一旦你有需要的時候,可以重新把它裝配回screen($ tmux attach
)。
相關概念
screen(屏幕):你當前運行的終端。有點像 Emacs 的一個 client 。
window(窗口):tmux 的一個實例。有點像 Linux 的虛擬桌面,或者 Awesome 的標簽。
pane(窗格):一個 window 可以被切分成多個部分,這又有點像 Emacs 的 window。
session(會話):用于連接和管理 window 的進程。每個會話可以和多個 window 綁定,一旦結束全部會話,tmux 也隨之終止。
**一個 screen 里可以打開多個 window (每次只能顯示一個),每個 window 里可以打開多個 pane 。對 window 的管理通過 session 來進行。
下面列舉一些 tmux 默認的快捷鍵:
tmux 管理
快捷鍵
功能
C-b
在終端中觸發 tmux 快捷鍵
C-z
中止一個 tmux 的 client
:
啟動 tmux 命令提示符
D
選擇一個 client 并 detach 它
d
detach 當前的 client
?
列舉所有快捷鍵
~
顯示 tmux 的上一條信息(如果有的話)
r
強制重繪當前的 client
t
展示時間
window 管理
快捷鍵
功能
c
創建一個新 window
0..9
切換到某一 window (注意 window 的編號是從 0 開始的)
n
切換到下一個 window
p
切換到上一個 window
l
切換到上一個被選中的 window
&
關閉當前 window
'
交互式切換到用戶指定的 window
.
移動當前 window(即改變其編號)
,
交互式重命名 window
w
交互式選擇 window
M-1
… M-5
切換布局:even-horizontal,even-vertical,main-horizontal,main-vertical 以及 tiled
i
顯示關于當前 Window 的一些信息
pane管理
快捷鍵
功能
"
將當前 pane 分割成上下兩個 pane
%
將當前 pane 分割成左右兩個 pane
o
切換到當前 window 的下一個 pane
;
切換到上一次激活的 pane
Up
, Down
, Left
, Right
切換到上方、下方、左側、右側的 pane
x
關閉當前 pane
q
顯示每個 pane 的編號
{
互換當前 pane 和上一個 pane
}
互換當前 pane 和下一個 pane
C-Up
, C-Down
, C-Left
, C-Right
改變當前 pane 的大小,步長為一個單位
M-Up
, M-Down
, M-Left
, M-Right
改變當前 pane 的大小,步長為五個單位
!
移動當前 pane 到另一個 window
文本管理
快捷鍵
功能
f
交互式在多個 window 中查找文本
列舉剪貼板中的所有內容
=
交互式從剪貼板中選擇并粘貼
刪除最近復制到剪貼板的內容
[
進入 copy 模式,以復制文本或查看歷史
]
粘貼最近復制的文本
Page Up
進入 copy 模式,并向上滾動一頁
session管理
快捷鍵
功能
$
重命名當前session
s
交互式的為當前裝配的client選擇一個新session
L
將當前裝配的client移動回上一個session