tmux簡單使用

tmux簡單使用

Tmux (“Terminal Multiplexer”的簡稱), 是一款優秀的終端復用軟件,類似 GNU screen,但比screen更出色。tmux來自於OpenBSD,採用BSD授權。使用它最直觀的好處就是, 通過一個終端登錄遠程主機並運行tmux後,在其中可以開啟多個控制台而無需再「浪費」多餘的終端來連接這台遠程主機, 還有一個好處就是當終端關閉後該shell裏面運行的任務進程也會隨之中斷,通過使用tmux就能很容易的解決這個問題。

1 安裝

Ubuntu

sudo apt install tmux

CentOS 或 Fedora

sudo yum install tmux

Mac

brew install tmux

2 使用流程

先不講有什麼功能,有什麼命令,而是講它的一般使用流程
上一張我畫的流程圖:
tmux使用流程

3 命令

我會根據使用流程說明一些常用命令和其對應的快捷鍵

3.1 快捷鍵怎麼使用?

前綴鍵+其他的鍵
默認的前綴鍵是Ctrl+b
所以使用時:
1 先按下Ctrl+b再鬆開
2 按其他的鍵

3.2 創建會話

tmux new -s <session-name>

-s指定會話名字,沒有指定名字時,以0、1、2…等數字命名

3.3 接入會話

tmux attach -t <session-name>

3.4 分屏操作

左右分[前綴鍵+%]

tmux split-window -h

上下分[前綴鍵+"]

tmux split-window

光標移動

命令方式:

# 光標切換到上方窗格
tmux select-pane -U

# 光標切換到下方窗格
tmux select-pane -D

# 光標切換到左邊窗格
tmux select-pane -L

# 光標切換到右邊窗格
tmux select-pane -R

快捷鍵方式:

操作 快捷鍵
光標切換到上方窗格 前綴鍵+方向鍵「↑」
光標切換到下方窗格 前綴鍵+方向鍵「↓」
光標切換到左邊窗格 前綴鍵+方向鍵「←」
光標切換到右邊窗格 前綴鍵+方向鍵「→」

3.5 分離會話[前綴鍵+d]

tmux detach

3.6 刪除會話

tmux kill-session -t <session-name>

3.7 其他命令

3.7.1 與會話相關

1) 重命名會話[前綴鍵+$]

tmux rename-session -t <old-name> <new-name>

2) 列出所有會話[前綴鍵+s]

tmux ls

使用快捷方式的方法,還可以用上下方向鍵選擇會話

3) 切換會話

tmux switch -t <session-name>

3.7.2 窗格相關

交換窗格位置

當前窗格上移[前綴鍵+Ctrl+o]

tmux swap-pane -U

當前窗格下移[前綴鍵+Alt+o]

tmux swap-pane -D

當前窗格左移[前綴鍵+{]

tmux swap-pane -U

當前窗格右移[前綴鍵+}]

tmux swap-pane -D

4 補充

窗口使用

其實我們上面使用tmux split-window命令就是把一個窗口劃分成多個窗格,而tmux可以有多個窗口

創建窗口[前綴鍵+c]

tmux new-window -n <window-name>

-n指定窗口的名字,不寫則為數字

切換窗口

tmux select-window -t <window-name>

有關的快捷鍵:

快捷鍵 說明
前綴鍵 + p 切換到上一個窗口(按照狀態欄上的順序)
前綴鍵 + n 切換到下一個窗口
前綴鍵+ <number> 切換到指定編號的窗口,其中的<number>是狀態欄上的窗口編號
前綴鍵+w 從列表中選擇窗口

重命名窗口[前綴鍵+,]

tmux rename-window <new-name>

其他命令

# 列出所有快捷鍵,及其對應的 Tmux 命令
$ tmux list-keys

# 列出所有 Tmux 命令及其參數
$ tmux list-commands

# 列出當前所有 Tmux 會話的信息
$ tmux info

# 重新加載當前的 Tmux 配置
$ tmux source-file ~/.tmux.conf

其他快捷鍵

快捷鍵 說明
前綴鍵 + ; 光標切換到上一個窗格
前綴鍵 + o 光標切換到下一個窗格
前綴鍵 + x 關閉當前窗格
前綴鍵 + ! 將當前窗格拆分為一個獨立窗口
前綴鍵 + p 當前窗格全屏顯示,再使用一次會變回原來大小
前綴鍵 + Ctrl + 方向鍵 按箭頭方向調整窗格大小
前綴鍵 + q 顯示窗格編號

關於配置

看一個github的項目他的配置

我的github
我的博客
我的筆記