本博客已經遷移至:本文詳細介紹tmux的概念和搭建過程
http://cenalulu.github.io/
為了更好的體驗,請通過此鏈接閱讀:http://cenalulu.github.io/linux/tmux/
tmux為什么要用tmux文章歡迎轉載,但轉載時請保留本段文字,并置于文章的頂部作者:盧鈞軼(cenalulu)本文原文地址:http://cenalulu.github.io/linux/tmux/
tmux是什么?tmux是linux中一種管理窗口的程序。那么問題來了:Mac自帶的Iterm2很好用啊。既支持多標簽,也支持窗體內部Panel的分割,為什么還要用tmux?其實,多標簽和分割窗體只是tmux的部分功能。用tmux的主要原因是它提供了一個窗體組隨時存儲和恢復的功能??纯匆韵碌氖褂脠鼍笆欠襁m合你:
broken pipe
。重頭開始。。。FML!如果你之前使用了tmux就不會有這樣的問題,attach就能找回原來打開的那些窗口。我們先來理解下tmux的幾個元素。tmux的主要元素分為三層:
為了更好的理解,下面是三個元素在tmux中的具體展現。
可以看到Session總在tmux的左下角顯示,通常會為他命名。例如我正在寫博客,開了很多窗口那么我就會把這組窗口命名為blog
方便之后的重連和切換。而Window也會在最下方以一種Tab的形式展現。每個window都有自己的需要,也會以當前活動進程的名字命名。而Pane就比較好理解,即把單個窗口分割成若干個小塊后的元素。
本文以Mac環境為例。Linux的方法類似Centos系列的可以用yum install tmux
安裝。
brew install tmux
安裝完直接執行tmux可能會有以下報錯,按照下面的步驟執行命令即可
$junyilu> tmuxdyld: Library not loaded: /usr/local/lib/libevent-2.0.5.dylibReferenced from: /usr/local/Cellar/tmux/1.9a/bin/tmuxReason: image not foundTrace/BPT trap: 5$junyilu> brew link libeventLinking /usr/local/Cellar/libevent/2.0.22...Error: Could not symlink lib/pkgconfig/libevent.pc/usr/local/lib/pkgconfig is not writable.$junyilu> sudo chown junyilu /usr/local/lib/pkgconfig$junyilu> brew link libeventLinking /usr/local/Cellar/libevent/2.0.22... 25 symlinks created
PRefix-Command
前置操作:所有下面介紹的快捷鍵,都必須以前置操作開始。tmux默認的前置操作是CTRL+b
。例如,我們想要新建一個窗體,就需要先在鍵盤上摁下CTRL+b
,松開后再摁下n
鍵。
下面所有的prefix
均代表CTRL+b
操作 | 快捷鍵 |
---|---|
查看/切換session | prefix s |
離開Session | prefix d |
重命名當前Session | prefix $ |
操作 | 快捷鍵 |
---|---|
新建窗口 | prefix c |
切換到上一個活動的窗口 | prefix space |
關閉一個窗口 | prefix & |
使用窗口號切換 | prefix 窗口號 |
操作 | 快捷鍵 |
---|---|
切換到下一個窗格 | prefix o |
查看所有窗格的編號 | prefix q |
垂直拆分出一個新窗格 | prefix " |
水平拆分出一個新窗格 | prefix % |
暫時把一個窗體放到最大 | prefix z |
默認的tmux風格比較樸素甚至有些丑陋。如果希望做一些美化和個性化配置的話,建議使用gpakosz的tmux配置。它的本質是一個tmux配置文件,實現了以下功能:
安裝方式也很簡單如下 (注意:如果想使用powerline美化需要先安裝powerline,具體方法見之前的博文)
$ cd$ rm -rf .tmux$ git clone https://github.com/gpakosz/.tmux.git$ ln -s .tmux/.tmux.conf$ cp .tmux/.tmux.conf.local .
安裝完以后就能獲得以下效果了:
新聞熱點
疑難解答