Tmux - Linux從業者必備利器


本文詳細介紹tmux的概念和搭建過程

本博客已經遷移至:

http://cenalulu.github.io/

為了更好的體驗,請通過此鏈接閱讀:

http://cenalulu.github.io/linux/tmux/

文章歡迎轉載,但轉載時請保留本段文字,並置於文章的頂部
作者:盧鈞軼(cenalulu)
本文原文地址:http://cenalulu.github.io/linux/tmux/

tmux

為什么要用tmux

tmux是什么?tmux是linux中一種管理窗口的程序。那么問題來了:Mac自帶的Iterm2很好用啊。既支持多標簽,也支持窗體內部Panel的分割,為什么還要用tmux?其實,多標簽和分割窗體只是tmux的部分功能。用tmux的主要原因是它提供了一個窗體組隨時存儲和恢復的功能。看看以下的使用場景是否適合你:

  • 公司台式機開了一堆vim和log打印窗口下班了。到家后靈感突發,想要繼續coding,登陸VPN,SSH連上台式后發現又要重新打開各種窗口,瞬間沒心情了。。。FML!這個時候你就可以在你的公司台式機上裝個tmux。同一組工作環境,在多處共享。
  • 公司服務器上調試程序,開了一堆窗口。出去吃了個飯,發現SSH超時了,broken pipe。重頭開始。。。FML!如果你之前使用了tmux就不會有這樣的問題,attach就能找回原來打開的那些窗口。

tmux的基本概念

我們先來理解下tmux的幾個元素。tmux的主要元素分為三層:

  • Session 一組窗口的集合,通常用來概括同一個任務。session可以有自己的名字便於任務之間的切換。
  • Window 單個可見窗口。Windows有自己的編號,也可以認為和ITerm2中的Tab類似。
  • Pane 窗格,被划分成小塊的窗口,類似於Vim中 C-w +v 后的效果。

為了更好的理解,下面是三個元素在tmux中的具體展現。

可以看到Session總在tmux的左下角顯示,通常會為他命名。例如我正在寫博客,開了很多窗口那么我就會把這組窗口命名為blog方便之后的重連和切換。而Window也會在最下方以一種Tab的形式展現。每個window都有自己的需要,也會以當前活動進程的名字命名。而Pane就比較好理解,即把單個窗口分割成若干個小塊后的元素。


安裝

本文以Mac環境為例。Linux的方法類似Centos系列的可以用yum install tmux安裝。

brew install tmux

安裝完直接執行tmux可能會有以下報錯,按照下面的步驟執行命令即可

$junyilu> tmux
dyld: Library not loaded: /usr/local/lib/libevent-2.0.5.dylib
Referenced from: /usr/local/Cellar/tmux/1.9a/bin/tmux
Reason: image not found
Trace/BPT trap: 5

$junyilu> brew link libevent
Linking /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 libevent
Linking /usr/local/Cellar/libevent/2.0.22... 25 symlinks created

tmux的基本操作

Prefix-Command前置操作:所有下面介紹的快捷鍵,都必須以前置操作開始。tmux默認的前置操作是CTRL+b。例如,我們想要新建一個窗體,就需要先在鍵盤上摁下CTRL+b,松開后再摁下n鍵。

下面所有的prefix均代表CTRL+b

Session相關操作

操作 快捷鍵
查看/切換session prefix s
離開Session prefix d
重命名當前Session prefix $

Window相關操作

操作 快捷鍵
新建窗口 prefix c
切換到上一個活動的窗口 prefix space
關閉一個窗口 prefix &
使用窗口號切換 prefix 窗口號

Pane相關操作

操作 快捷鍵
切換到下一個窗格 prefix o
查看所有窗格的編號 prefix q
垂直拆分出一個新窗格 prefix "
水平拆分出一個新窗格 prefix %
暫時把一個窗體放到最大 prefix z

tmux的一些個性化定制

默認的tmux風格比較朴素甚至有些丑陋。如果希望做一些美化和個性化配置的話,建議使用gpakosz的tmux配置。它的本質是一個tmux配置文件,實現了以下功能:

  • 基於powerline的美化
  • 顯示筆記本電池電量
  • 和Mac互通的剪切板
  • 和vim更相近的快捷鍵

安裝方式也很簡單如下 (注意:如果想使用powerline美化需要先安裝powerline,具體方法見之前的博文)

$ cd
$ rm -rf .tmux
$ git clone https://github.com/gpakosz/.tmux.git
$ ln -s .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local .

安裝完以后就能獲得以下效果了:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM