Tmux 是一個終端複用器(terminal multiplexer),非常有用,屬於常用的開發工具。
1. 基本用法
#### 安裝
# Ubuntu 或 Debian
$ sudo apt-get install tmux
# CentOS 或 Fedora
$ sudo yum install tmux
# Mac
$ brew install tmux
#### 啓動退出
安裝完成後,鍵入tmux命令,就進入了 Tmux 窗口。
$ tmux
按下Ctrl+d或者顯式輸入exit命令,就可以退出 Tmux 窗口。
$ exit
前綴建
Tmux 窗口有大量的快捷鍵。所有快捷鍵都要通過前綴鍵喚起。默認的前綴鍵是Ctrl+b,即先按下Ctrl+b,快捷鍵纔會生效。
舉例來說,幫助命令的快捷鍵是Ctrl+b ?。它的用法是,在 Tmux 窗口中,先按下Ctrl+b,再按下?,就會顯示幫助信息。
然後,按下 ESC 鍵或q鍵,就可以退出幫助。
2. 會話管理
第一個啓動的 Tmux 窗口,編號是0,第二個窗口的編號是1,以此類推。這些窗口對應的會話,就是 0 號會話、1 號會話。
$ tmux new -s <session-name>
使用編號區分會話,不太直觀,更好的方法是爲會話起名。
在 Tmux 窗口中,按下Ctrl+b d或者輸入tmux detach命令,就會將當前會話與窗口分離。
$ tmux detach
上面命令執行後,就會退出當前 Tmux 窗口,但是會話和裏面的進程仍然在後臺運行。
tmux ls命令可以查看當前所有的 Tmux 會話。
$ tmux ls
# or
$ tmux list-session
接入會話
tmux attach命令用於重新接入某個已存在的會話。
# 使用會話編號
$ tmux attach -t 0
# 使用會話名稱
$ tmux attach -t <session-name>
殺死會話
tmux kill-session 命令用於殺死某個會話。
# 使用會話編號
$ tmux kill-session -t 0
# 使用會話名稱
$ tmux kill-session -t <session-name>
切換會話
# 使用會話編號
$ tmux switch -t 0
# 使用會話名稱
$ tmux switch -t <session-name>
重命名
$ tmux rename-session -t 0 <new-name>
上面命令將0號會話重命名。
會話快捷鍵
Ctrl+b d:分離當前會話。
Ctrl+b s:列出所有會話。
Ctrl+b $:重命名當前會話。
3.窗口操作
Tmux 可以將窗口分成多個窗格(pane),每個窗格運行不同的命令。以下命令都是在 Tmux 窗口中執行。
劃分窗格
tmux split-window 命令用來劃分窗格。
# 劃分上下兩個窗格
$ tmux split-window
# 劃分左右兩個窗格
$ tmux split-window -h
移動光標
tmux select-pane命令用來移動光標位置。
# 光標切換到上方窗格
$ tmux select-pane -U
# 光標切換到下方窗格
$ tmux select-pane -D
# 光標切換到左邊窗格
$ tmux select-pane -L
# 光標切換到右邊窗格
$ tmux select-pane -R
交換窗格位置
tmux swap-pane命令用來交換窗格位置。
# 當前窗格上移
$ tmux swap-pane -U
# 當前窗格下移
$ tmux swap-pane -D
窗格快捷鍵
Ctrl+b %:劃分左右兩個窗格。
Ctrl+b ":劃分上下兩個窗格。
Ctrl+b <arrow key>:光標切換到其他窗格。<arrow key>是指向要切換到的窗格的方向鍵,比如切換到下方窗格,就按方向鍵↓。
Ctrl+b ;:光標切換到上一個窗格。
Ctrl+b o:光標切換到下一個窗格。
Ctrl+b {:當前窗格左移。
Ctrl+b }:當前窗格右移。
Ctrl+b Ctrl+o:當前窗格上移。
Ctrl+b Alt+o:當前窗格下移。
Ctrl+b x:關閉當前窗格。
Ctrl+b !:將當前窗格拆分爲一個獨立窗口。
Ctrl+b z:當前窗格全屏顯示,再使用一次會變回原來大小。
Ctrl+b Ctrl+<arrow key>:按箭頭方向調整窗格大小。
Ctrl+b q:顯示窗格編號。
4. 窗口管理
除了將一個窗口劃分成多個窗格,Tmux 也允許新建多個窗口。
新建窗口
** tmux new-window**命令用來創建新窗口
$ tmux new-window
# 新建一個指定名稱的窗口
$ tmux new-window -n <window-name>
切換窗口
# 切換到指定編號的窗口
$ tmux select-window -t <window-number>
# 切換到指定名稱的窗口
$ tmux select-window -t <window-name>
tmux rename-window命令用於爲當前窗口起名(或重命名)。
$ tmux rename-window <new-name>
快捷鍵
Ctrl+b c:創建一個新窗口,狀態欄會顯示多個窗口的信息。
Ctrl+b p:切換到上一個窗口(按照狀態欄上的順序)。
Ctrl+b n:切換到下一個窗口。
Ctrl+b <number>:切換到指定編號的窗口,其中的<number>是狀態欄上的窗口編號。
Ctrl+b w:從列表中選擇窗口。
Ctrl+b ,:窗口重命名。
4. 其他命令
# 列出所有快捷鍵,及其對應的 Tmux 命令
$ tmux list-keys
# 列出所有 Tmux 命令及其參數
$ tmux list-commands
# 列出當前所有 Tmux 會話的信息
$ tmux info
# 重新加載當前的 Tmux 配置
$ tmux source-file ~/.tmux.conf