終端復用軟件Tmux的那些事兒
什么是Tmux
簡單來說,tmux是一個終端復用器,第一,它是在終端下,也就是我們常說的命令下使用的,第二,它是一個可以在一個窗口管理各種會話的軟件。也就是說,你可以在一個終端下干多種事情,一邊寫前端項目,一邊寫后臺項目,可以同時查看進程資源占用,也可以運行終端命令。
為什么使用Tmux
當然是為了方便操作,因為有些時候我們就是希望可以在一個窗口編寫代碼,一個窗口運行代碼,一個窗口顯示資源占用,因為這樣看起來更直觀。
有些時候,我們一天的工作可能沒有做完,我們希望晚上,或者明天繼續工作,但是我們不希望重新打開編輯器,重新運行代碼,這個時候,tmux就顯示出了它的威力,它可以保存我們的會話,也就是保存我們的項目狀態,當我們重新連上tmux的時候,我們就可以無縫繼續我們上次的操作,這可以說是非常強大有用的功能。
如何使用tmux
如果你是mac用戶的話,你可以使用brew來安裝:
brew install tmux
如果你是ubuntu用戶的話,你可以使用apt來安裝:
apt install tmux
tmux 的安裝非常簡便,使用起來卻并不輕松。
如何進入tmux
當我們在終端下直接輸入tmux,我們就可以進入到tmux會話界面了。它看上去像是打開了一個新的窗口,然后在底部顯示了一些信息,當然這些底部的信息都是可以自定義控制的。
tmux 主要是通過各種快捷鍵來進行操作的,其中它有一個前綴鍵,默認是ctrl+b,之所以沒有選用ctrl因該是為了不和其他的快捷鍵相互沖突。其實還有一個原因那就是另一款終端復用軟件screen已經使用了ctrl+a,于是這里就接著b來使用了。
當我們要對窗口進行水平分屏的時候我們可以使用ctrl+b->",當我們要對窗口垂直分屏的話我們可以使用ctrl+b->%,這里箭頭表示的意思是ctrl+b是一起按下的,然后再按"或者%,而不是它們三個按鍵一起按下。
如果我們想要新打開一個窗口的話,我們可以使用ctrl+b->c,c(create)表示創建一個窗口,然后我們可以通過ctrl+b->n(next)來回切換窗口,當然我們也可以通過ctrl+b->0(窗口下面的數字角標)直接切換到指定的窗口。
tmux 除了提供窗口的概念,還提供了session的概念,也就是我們可以理解為一個項目,比如前端的項目,后端的項目,java項目,php項目等等,我們可以通過tmux -s new phpdev 來創建一個phpdev的session,下次我們可以通過tmux a -t phpdev來連接上它。
tmux 插件
tmux 有很多功能,這里我只是簡單介紹下它的基本使用,它的最新版幫助手冊有2700多行,你就可以知道它的功能有多少了。
這里我們單獨介紹下它的插件,其實tmux除了本身強大之外,它還提供了很多插件來豐富它的功能,比如有些時候我們的電腦需要關機,這種情況下tmux會丟失之前的操會話的,不過我們可以通過安裝一些插件來實現關機也能把保存會話功能,我們還可以通過一些插件讓tmux顯示得更加炫酷。
總結
如果你經常在終端下工作,那么tmux一定是一款你應該學會使用的軟件,當然如果你習慣使用screen也可以。
很多人一開始可能不習慣,或者記不住那么多快捷鍵,但是沒關系,當你多加練習,并且經常在終端下工作的時候,你慢慢地就肌肉記憶記住它們了,并且你會發現使用它們進行工作真的太便捷了。
最后,我想表達的是,先從簡單的一點點來,不要一口吃個胖子,我見過很多人花了很多時間來配置它們的tmux還有vim,然后感覺非常麻煩,最后就放棄了。其實一開始你可以只是做一些簡單的事情,讓自己不要想得太多,一點點發現這些軟件的好處,你會慢慢地喜歡上它們。