【掃盲貼】你對(duì)Linux窗口管理程序Tmux了解嗎
介紹
tmux是linux中一種管理窗口的程序,不同于iTerm2,它提供了一個(gè)Session隨時(shí)存儲(chǔ)和恢復(fù)的功能(Session概念后面會(huì)介紹),detach Session(保持Session后臺(tái)運(yùn)行),然后重新attach Session。
常用場(chǎng)景,在公司Terimal中開(kāi)了多個(gè)標(biāo)簽和文件,下班回家忽然有了靈感想要繼續(xù)編寫(xiě),使用ssh遠(yuǎn)程鏈接公司電腦,然后發(fā)現(xiàn)標(biāo)簽頁(yè)和文件都要重新打開(kāi),如果使用Tmux,下班了detach當(dāng)前Session,回家ssh遠(yuǎn)程連接后,attach Session后,場(chǎng)景恢復(fù)又能愉快的繼續(xù)編程了…
安裝
# 安裝Mac OS X下遺失的包管理Homebrew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 安裝神器Tmux
$ brew install tmux
基礎(chǔ)
# 啟動(dòng)Tmux
$ tmux
# 關(guān)閉Tmux
$ ctrl + d
# 或退出
$ exit
tmux有三個(gè)基本概念:會(huì)話(Session),窗口(Window)和面板(Pane)。當(dāng)你輸入tmux后,tmux實(shí)際做的事是首先創(chuàng)建一個(gè)會(huì)話(Session),然后在這個(gè)會(huì)話中創(chuàng)建一個(gè)窗口,你可以繼續(xù)創(chuàng)建多個(gè)窗口(Window),每個(gè)窗口初始只包含一個(gè)面板,繼續(xù)分屏后,會(huì)出現(xiàn)多個(gè)面板(Pane) 你在其中看到的終端實(shí)際上都屬于tmux的某個(gè)面板
更進(jìn)一步講,Session可以包含多個(gè)Window,每個(gè)Window又可以包含多個(gè)Pane
基本操作
所有快捷鍵的執(zhí)行方式:
按下control + b
兩個(gè)按鍵組合, 然后松開(kāi)control + b
(為了告訴Tmux我要用Tmux的快捷鍵了), 然后在按快捷鍵觸發(fā)各種行為。
例如: C-b ?
的執(zhí)行過(guò)程為按下control + b
兩個(gè)按鍵組合, 然后松開(kāi)control + b
, 然后在按’?’鍵, 會(huì)顯示所有快捷鍵的列表。
C-b ?
列出所有快捷鍵, 按q或Esc返回C-b d
detach當(dāng)前會(huì)話,可暫時(shí)返回Shell界面,輸入tmux attach能夠重新進(jìn)入之前會(huì)話C-b s
選擇并切換會(huì)話;在同時(shí)開(kāi)啟了多個(gè)會(huì)話時(shí)使用
快捷鍵
Window操作
C-b c
創(chuàng)建一個(gè)新窗口C-b &
關(guān)閉當(dāng)前窗口C-b w
列出所有的窗口選擇C-b p
切換到上一個(gè)窗口C-b n
切換到下一個(gè)窗口C-b 窗口號(hào)
使用窗口號(hào)切換窗口(例如窗口號(hào)為1的, 則C-b 1
)C-b ,
重命名當(dāng)前窗口,便于識(shí)別各個(gè)窗口
Pane操作
C-b %
橫向分TerminalC-b "
縱向分TerminalC-b 方向鍵
則會(huì)在自由選擇各面板C-b x
關(guān)閉當(dāng)前paneC-b q
顯示面板編號(hào)
Session操作
# 創(chuàng)建一個(gè)新的session
$ tmux new -s <name-of-my-session>
# 在當(dāng)前session中創(chuàng)建一個(gè)新的Session, 并保證之前session依然存在
# C-b : 然后輸入下面命令
new -s <name-of-my-new-session>
# 進(jìn)入名為test的session
$ tmux attach -t test
C-b s
列出所有會(huì)話C-b d
detach當(dāng)前session(可以認(rèn)為后臺(tái)運(yùn)行)
進(jìn)階
美化Tmux
使用gpakosz的Tmux配置進(jìn)行美化。
優(yōu)點(diǎn)
- 使用
C-a
作為前綴更方便使用, 同時(shí)保存了C-b
的觸發(fā)前綴 - powerline狀態(tài)條美化(用過(guò)vim的都應(yīng)該比較熟悉)
- 顯示筆記本電池狀態(tài)
安裝使用
$ cd
$ rm -rf .tmux
$ git clone https://github.com/gpakosz/.tmux.git
$ ln -s .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local .
參考鏈接
- Tmux官網(wǎng)
- A Tmux crash course: tips and tweaks
- tmux入門(mén)指南
- Tmux - Linux從業(yè)者必備利器
- Tmux conf
- Linux下終端利器tmux