會話、視窗與窗格的概念#
#linux
tmux 常用命令與快捷鍵 - 簡書
Tmux 中的主要概念分為三個:
-
會話 - 會話是 Tmux 中最主要的概念了,預設開啟 Tmux 時,就會自動新建一個會話,在這個會話中,也會給你開啟一個預設的視窗(也即窗口)。Tmux 中可以擁有多個會話,多個會話之間可以來回無縫切換。
-
視窗 - 相比會話,視窗是稍微小一點的單位。一個會話中,可以開啟多個視窗。這些視窗同屬於一個會話,並由其管理。
-
窗格 - 窗格是比視窗更小的介面元素。前面我們也提到了 Tmux 中可以對視窗進行任意分割,由視窗分割出來的單位就叫做窗格了。在同一個視窗中,使用者可以控制游標在分割出的窗格中隨意移動,用以選定當前作為啟用狀態的窗格。
如果看了這些概念還不太明白,也許下面這個圖可以清晰的表明它們之間的關係:
他們的從屬關係為:會話 -> 視窗 -> 窗格
安裝與配置#
Tmux 的安裝也非常方便,通常 Ubuntu 下安裝,使用:
sudo apt-get install tmux
在 mac OS 中,推薦使用 brew 來安裝:
brew install tmux
Tmux 簡單配置#
Tmux 在安裝完成之後,可以立即啟動,不過這還只算一個 “裸奔” 的 Tmux,因為很多配置項都是預設值,需要我們根據自己的喜好進行一些設置。從零開始創建一個 Tmux 是比較費神的,建議去網上尋找其他大神的配置文件來修改,這樣比較快捷一些。這裡提供一個配置,可以作為模板,直接下載後按照自己的喜好來更改。
需要注意的是,tmux 的配置文件本身是一個隱藏文件,也就是以 .
號開頭的文件,叫做 .tmux.conf
。我們需要把這個文件放在當前使用者的預設主目錄下,也即 ~/.tmux.conf
,tmux 啟動後,會自動讀取和加載裡面的配置項。
配置文件就算這麼搞定了,如果你是第一次接觸 Tmux,建議不用太紛結如何弄清楚配置文件裡面的每一項是什麼意思,在後續的使用中,你可能會不斷去修改和調整,自然而然也就熟悉了。接下來,我們要見識一下 Tmux 強大的各種快捷鍵功能。
這裡提供一個我經常使用的 Tmux 配置文件,可以作為模板,直接下載後按照自己的喜好來更改。
Tmux 使用效果#
常用快捷鍵#
初次使用 Tmux 需要明白的是,Tmux 的各種快捷鍵功能,是需要一個<prefix>
組合鍵作為前綴的。也就是說,需要先按下 <prefix>
組合鍵,才能激活快捷鍵功能,然後再按對應各種功能的快捷鍵,才會生效。之所以這樣設計,估計也是為了把快捷鍵的輸入跟使用者正常輸入區分開來。
初次使用 Tmux,我們要知道的是,Tmux 為我們預設準備的 <prefix>
組合鍵,是 C-b
(即 Ctrl+b)。當然,根據我們自己的習慣,如果覺得 C-b
按起來不方便,可以通過修改配置文件的方式,自定義自己喜歡的 <prefix>
組合鍵。比如我就覺得 C-b
距離有點遠,於是,我的 <prefix>
是這麼定義的:
set -g prefix C-j
這裡簡單列舉一下 Tmux 的部分快捷鍵操作,有些快捷鍵估計跟 Tmux 預設提供的不太一樣,因為我根據自己的喜好進行了一些調整。
視窗 (Window) 操作#
<prefix> c 創建新視窗
<prefix> w 列出所有視窗
<prefix> n 後一個視窗
<prefix> p 前一個視窗
<prefix> f 查找視窗
<prefix> , 重命名當前視窗
<prefix> & 關閉當前視窗
窗格 (Panel) 操作#
<prefix> | 垂直分割
<prefix> - 水平分割
<prefix> o 交換窗格
<prefix> x 關閉窗格
<prefix> <space> 切換佈局
<prefix> q 顯示每個窗格是第幾個,當數字出現的時候按數字幾就選中第幾個窗格
<prefix> { 與上一個窗格交換位置
<prefix> } 與下一個窗格交換位置
<prefix> u 切換窗格最大化
<prefix> n 切換窗格最小化
<prefix> 0-9 切換到指定編號的視窗
窗格 (Panel) 選擇#
<prefix> h 選擇左邊的窗格
<prefix> j 選擇下面的窗格
<prefix> k 選擇上面的窗格
<prefix> l 選擇右邊的窗格
窗格 (Panel) 尺寸調整#
<prefix> H 當前窗格向左擴大3格
<prefix> J 當前窗格向下擴大3格
<prefix> K 當前窗格向上擴大3格
<prefix> L 當前窗格向右擴大3格
會話 (Session) 相關#
<prefix> :new<回車> 啟動新會話
<prefix> s 列出所有會話
<prefix> $ 重命名當前會話
這裡只是列出了部分 Tmux 常用快捷鍵,初學 Tmux,千萬別被這麼多的快捷鍵給嚇住,隨著使用 Tmux 時間的不斷增加,這些快捷鍵最終會變為肌肉的條件反射,所謂的 “無劍勝有劍”,嘿嘿。
總結#
Tmux 真是終端下的利器,在 macOS 下,配合 iTerm2 和 Vim,能輕鬆的打造出高效的開發環境。在服務端運行 Tmux,也能為你日常運維工作帶來許多便利。所以,將 Tmux 大法謹記心中,他日必能為君帶來極大的便利和效率。