你對Linux視窗管理程式Tmux瞭解嗎
導讀
tmux是linux中一種管理視窗的程式,不同於iTerm2,它提供了一個Session隨時儲存和恢複的功能(Session概念後面會介紹),detach Session(保持Session後台運行),然後重新attach Session。
常用情境,在公司Terimal中開了多個標籤和檔案,下班回家忽然有了靈感想要繼續編寫,使用ssh遠程連結公司電腦,然後發現標籤頁和檔案都要重新開啟,如果使用Tmux,下班了detach當前Session,回家ssh遠端連線後,attach Session後,情境恢複又能愉快的繼續編程了…
安裝# 安裝Mac OS X下遺失的包管理Homebrew$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"# 安裝神器Tmux$ brew install tmux
基礎# 啟動Tmux$ tmux# 關閉Tmux$ ctrl + d # 或退出$ exit
tmux有三個基本概念:會話(Session),視窗(Window)和面板(Pane)。當你輸入tmux後,tmux實際做的事是首先建立一個會話(Session),然後在這個會話中建立一個視窗,你可以繼續建立多個視窗(Window),每個視窗初始只包含一個面板,繼續分屏後,會出現多個面板(Pane) 你在其中看到的終端實際上都屬於tmux的某個面板
更進一步講,Session可以包含多個Window,每個Window又可以包含多個Pane
基本操作所有快速鍵的執行方式:
按下control + b兩個按鍵組合,然後鬆開control + b(為了告訴Tmux我要用Tmux的快速鍵了), 然後在按快速鍵觸發各種行為。
例如:C-b ?的執行過程為按下control + b兩個按鍵組合, 然後鬆開control + b, 然後在按’?’鍵, 會顯示所有快速鍵的列表。
- C-b ?列出所有快速鍵, 按q或Esc返回
- C-b ddetach當前會話,可暫時返回Shell介面,輸入tmux attach能夠重新進入之前會話
- C-b s選擇並切換會話;在同時開啟了多個會話時使用
快速鍵Window操作
- C-b c建立一個新視窗
- C-b &關閉當前視窗
- C-b w列出所有的視窗選擇
- C-b p切換到上一個視窗
- C-b n切換到下一個視窗
- C-b 視窗號使用視窗號切換視窗(例如視窗號為1的, 則C-b 1)
- C-b ,重新命名當前視窗,便於識別各個視窗
Pane操作
- C-b %橫向分Terminal
- C-b "縱向分Terminal
- C-b 方向鍵則會在自由選擇各面板
- C-b x關閉當前pane
- C-b q顯示面板編號
Session操作# 建立一個新的session$ tmux new -s <name -of-my-session># 在當前session中建立一個新的Session, 並保證之前session依然存在# C-b : 然後輸入下面命令new -s <name -of-my-new-session># 進入名為test的session$ tmux attach -t test
- C-b s列出所有會話
- C-b ddetach當前session(可以認為後台運行)
進階美化Tmux使用gpakosz的Tmux配置進行美化。
優點
- 使用C-a作為首碼更方便使用, 同時儲存了C-b的觸發首碼
- powerline狀態條美化(用過vim的都應該比較熟悉)
- 顯示筆記本電池狀態
安裝使用
$ cd$ rm -rf .tmux$ git clone https://github.com/gpakosz/.tmux.git$ ln -s .tmux/.tmux.conf$ cp .tmux/.tmux.conf.local .
原文來自:http://os.51cto.com/art/201507/484104.htm
本文地址:http://www.linuxprobe.com/linux-window-tmux.html