更好利用 tmux 會話的 4 個技巧
tmux 是一個終端多路複用工具,它可以讓你係統上的終端支援多皮膚。你可以排列皮膚位置,在每個皮膚執行不同程式,這通常可以更好的地利用你的螢幕。我們在 這篇早期的文章 中向讀者介紹過這一強力工具。如果你已經開始使用 tmux 了,那麼這裡有一些技巧可以幫你更好地使用它。
本文假設你當前的字首鍵是 Ctrl+b
。如果你已重新對映該字首,只需在相應位置替換為你定義的字首即可。
設定終端為自動使用 tmux
使用 tmux 的一個最大好處就是可以隨意的從會話中斷開和重連。這使得遠端登入會話功能更加強大。你有沒有遇到過丟失了與遠端系統的連線,然後好希望能夠恢復在遠端系統上做過的那些工作的情況?tmux 能夠解決這一問題。
然而,有時在遠端系統上工作時,你可能會忘記開啟會話。避免出現這一情況的一個方法就是每次通過互動式 shell 登入系統時都讓 tmux 啟動或附加上一個會話。
在你遠端系統上的 ~/.bash_profile
檔案中加入下面內容:
if [ -z "$TMUX" ]; then
tmux attach -t default || tmux new -s default
fi
然後登出遠端系統,並使用 SSH 重新登入。你會發現你處在一個名為 default
的 tmux 會話中了。如果退出該會話,則下次登入時還會重新生成此會話。但更重要的是,若您正常地從會話中分離,那麼下次登入時你會發現之前工作並沒有丟失 - 這在連線中斷時非常有用。
你當然也可以將這段配置加入本地系統中。需要注意的是,大多數 GUI 介面的終端並不會自動使用這個 default
會話,因此它們並不是登入 shell。雖然你可以修改這一行為,但它可能會導致終端巢狀執行附加到 tmux 會話這一動作,從而導致會話不太可用,因此當進行此操作時請一定小心。
使用縮放功能使注意力專注於單個程式
雖然 tmux 的目的就是在單個會話中提供多視窗、多皮膚和多程式的能力,但有時候你需要專注。如果你正在與一個程式進行互動並且需要更多空間,或需要專注於某個任務,則可以使用縮放命令。該命令會將當前皮膚擴充套件,佔據整個當前視窗的空間。
縮放在其他情況下也很有用。比如,想象你在圖形桌面上執行一個終端視窗。皮膚會使得從 tmux 會話中拷貝和粘帖多行內容變得相對困難。但若你縮放了皮膚,就可以很容易地對多行資料進行拷貝/粘帖。
要對當前皮膚進行縮放,按下 Ctrl+b, z
。需要恢復的話,按下相同按鍵組合來恢復皮膚。
繫結一些有用的命令
tmux 預設有大量的命令可用。但將一些更常用的操作繫結到容易記憶的快捷鍵會很有用。下面一些例子可以讓會話變得更好用,你可以新增到 ~/.tmux.conf
檔案中:
bind r source-file ~/.tmux.conf \; display "Reloaded config"
該命令重新讀取你配置檔案中的命令和鍵繫結。新增該條繫結後,退出任意一個 tmux 會話然後重啟一個會話。現在你做了任何更改後,只需要簡單的按下 Ctrl+b, r
就能將修改的內容應用到現有的會話中了。
bind V split-window -h
bind H split-window
這些命令可以很方便地對視窗進行橫向切分(按下 Shift+V
)和縱向切分(Shift+H
)。
若你想檢視所有繫結的快捷鍵,按下 Ctrl+B, ?
可以看到一個列表。你首先看到的應該是複製模式下的快捷鍵繫結,表示的是當你在 tmux 中進行復制粘帖時對應的快捷鍵。你新增的那兩個鍵繫結會在字首模式中看到。請隨意把玩吧!
使用 powerline 更清晰
如前文所示,powerline 工具是對 shell 的絕佳補充。而且它也相容在 tmux 中使用。由於 tmux 接管了整個終端空間,powerline 視窗能提供的可不僅僅是更好的 shell 提示那麼簡單。
如果你還沒有這麼做,按照 這篇文章 中的指示來安裝該工具。然後使用 sudo 來安裝附件:
sudo dnf install tmux-powerline
接著重啟會話,就會在底部看到一個漂亮的新狀態列。根據終端的寬度,預設的狀態列會顯示你當前會話 ID、開啟的視窗、系統資訊、日期和時間,以及主機名。若你進入了使用 git 進行版本控制的專案目錄中還能看到分支名和用色彩標註的版本庫狀態。
當然,這個狀態列具有很好的可配置性。享受你新增強的 tmux 會話吧,玩的開心點。
via: https://fedoramagazine.org/4-tips-better-tmux-sessions/
作者:Paul W. Frields 選題:lujun9972 譯者:lujun9972 校對:wxy
相關文章
- 利用sql_trace跟蹤一個指定會話的操作SQL會話
- byobu複用SSH會話的技巧會話
- 讓你更好使用 Typescript 的11個技巧TypeScript
- 如何充分利用你的會話工具會話
- Tmux 速成教程:技巧和調整UX
- [20170711]關於tmux共享會話問題.txtUX會話
- 編寫更好的 Java 單元測試的 7 個技巧Java
- 8個小技巧,讓一個遊戲變得更好玩遊戲
- 邦芒支招:利用自薦電話求職的七大技巧求職
- linux 技巧:使用 screen 管理你的遠端會話Linux會話
- 【譯】編寫更好JavaScript條件語句的5個技巧JavaScript
- 如何利用Google成為一個更好的程式設計師Go程式設計師
- Metasploit Shell升級Meterpreter會話技巧會話
- 4個非常有用的 Flutter 技巧Flutter
- 4個最佳化MongoDB的技巧MongoDB
- 職場必備!學會這4個技巧,便可輕鬆操作Excel!Excel
- Linux命令技巧之30個必會的命令技巧Linux
- 10個Vue開發技巧助力成為更好的工程師Vue工程師
- 利用 Tmux 和 kubectl 解決 Kubernetes 故障UX
- 同一會話中的多個 WebRequest會話Web
- 人人都會的35個Jquery小技巧jQuery
- 10個Vue開發技巧助力成為更好的工程師(二)Vue工程師
- 五個小技巧讓你寫出更好的 JavaScript 條件語句JavaScript
- 學會這4個PPT技巧,你就能做出漂亮的PPT教學課件
- 10個說話技巧讓你的語言有魅力
- 4個Excel技巧,提高你的工作效率!Excel
- 安卓手機減少流量的4個技巧安卓
- 遊戲內建商店的4個設計技巧遊戲
- [譯] 五個小技巧讓你寫出更好的 JavaScript 條件語句JavaScript
- oracle實用sql(7)--單個會話或會話間statistics對比OracleSQL會話
- 利用dbms_support包查詢當前會話的session_id會話Session
- tmux的使用方法和個性化配置UX
- 哪些日常的習慣會使你成為一個更好的開發者?
- Linux 桌面的 4 個小技巧Linux
- tmuxUX
- PHP如何更好的利用PHPstorm的自動提示PHPORM
- [20191202]tmux共享回話.txtUX
- 必知必會的8個Python列表技巧Python