Mac tmux 最佳實踐

tmux 是一個終端多路複用器:它允許從單個屏幕創建、訪問和控制多個終端。 tmux 可能會與屏幕分離並繼續在後臺運行,然後重新連接。

第一次看到tmux 的介紹的時候,我其實沒什麼感覺, 覺得沒什麼. 後面用 terminal 多了,遇到了一些問題,然後嘗試解決。最後我重新認真學習了tmux。它改變了我電腦的習慣。

本文將會花十分鐘介紹,tmux 的基本使用場景。

什麼是 Terminal Session

回憶一下,你日常工作時候使用 terminal 的場景,打開一個 Iterm2  窗口,然後使用 ssh 連接一臺遠程機器,然後進入特定目錄,開始工作,完成工作後,關閉Iterm2 窗口。上面這些步驟,就是一個 terminal session 它的生命週期是跟  terminal 的生命週期綁定在一起的,關閉窗口後 session 就結束,然後下次我們要工作的時候,就重複上面的步驟。
有什麼辦法,可以將 session 跟 terminal 開來,下次再操作的時候,就不需要重複上面的步驟? tmux 可以幫助我們實現這個功能。

我們看看再 tmux 下如何實現上面這個功能把。

在這個演示中:

  1. 我首先用tmux new -s test  創建了一個 tmux session ,然後打開一個目錄,

  2. 然後再將 session 剝離,回到 Iterm2 終端,

  3. 最後我又使用 tmux attach-session 回到原來的目錄,跟剛纔退出去的時候一模一樣。

這就是 tmux 基礎的應用了,剝離 session,並且保持 session 狀態。

TL;DR

tmux  可以幫助我們實現:

  1. 它允許在單個窗口中,同時訪問多個會話。這對於同時運行多個命令行程序很有用。

  2. 它可以讓新窗口 "接入" 已經存在的會話。

  3. 它允許每個會話有多個連接窗口,因此可以多人實時共享會話。

  4. 它還支持窗口任意的垂直和水平拆分。

Tmux 基本用法

安裝 Tmux

在 Mac 上,可以使用 brew 來安裝 tmux

brew install  tmux

其他環境請參考:Installing tmux[1]

啓動 tmux 與退出 Tmux

安裝完成後, 在 terminal 中輸入 tmux 就可以啓動一個  tmux session 。輸入 exit 就會退出 tmux session ,返回到原來的 terminal 頁面。

前綴鍵

跟其他軟件不一樣的是: tmux 中所有的快捷鍵都需要和前綴快捷鍵 ⌃b 來組合使用(注: 爲 Mac 的 control 鍵), 這樣其實挺好的,減少了與其他軟件衝突的概率。可以通過 ⌃b+? 來查詢所有的快捷鍵。一般把 tmux 的快捷鍵分成三類: 窗口管理、窗格管理、以及 session 管理。

Session 管理

如果運行了多次 tmux 命令則會開啓多個 tmux 會話(session)。在 tmux 會話中,使用前綴快捷鍵 ⌃b 配合以下快捷鍵可操作會話:

alias tnew='tmux new -s' # 新建一個會話
alias tls='tmux ls'
alias td='tmux detach' # 分離 會話,會保存分離之前的狀態
alias ta='tmux attach -t' # 連接會話
alias tkss='tmux kill-session -t'

窗格管理

Tmux 可以將窗口分成多個窗格(pane),每個窗格運行不同的命令。以下命令都是在 Tmux 窗口中執行。

窗口管理

tmux 還有窗口(window) 的概念,當窗格變得擁擠的時候,我們可以再開一個窗口,下面是窗口一些常用的快捷鍵。

總結

這篇文章只是總結了一下 tmux 的基本使用以及快捷鍵,還有很多應用場景沒有涉及。比如跟 vim 配合如何更加高效地在 vim 中寫代碼。希望看過這篇文章的朋友,能夠上手體驗一下tmux, 使用 tmux 生產力。

引用鏈接

[1]Installing tmux: https://github.com/tmux/tmux/wiki/Installing

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/MzwO_u2PF26UxhnAu2syDw