終端複用利器-Tmux使用

介紹

tmux 是一款終端複用命令行工具,通常用於 Terminal 的窗口管理。git

我主要用它來解決如下問題:github

  1. ctrl+tab來回切換多個terminal太累了.
  2. 我須要一邊操做數據庫,一邊執行程序,一邊看CPU佔用率. 三個須要同時展現的時候,使用原生的終端太費勁了.

基本概念

tmux有幾個基本概念,固然你不瞭解也行,工具嘛,會用就行.shell

  1. 會話(session):至關於對窗口進行一個分組的概念,每次主動鏈接tmux,會新建一個會話,固然你能夠選擇性的新建或者關閉.這個我使用的很少,我主要在一個會話中操做.
  2. 窗口(window):一個會話中能夠有多個窗口,每一個窗口都是一個獨立的終端,而且你可使用快捷鍵快速的進行切換.
  3. 窗格(pane):一個窗口能夠分割爲多個窗口,能夠水平分割和垂直分割.同時進行多個任務的時候有用.

經常使用命令

通常狀況下 tmux 中全部的快捷鍵都須要和前綴快捷鍵 ⌃b 來組合使用(注:⌃ 爲 Mac 的 control 鍵.數據庫

下面是經常使用的命令記錄:vim

會話操做

  • $ 重命名當前會話session

  • s 選擇會話列表工具

  • d detach 當前會話,運行後將會退出 tmux 進程,返回至 shell 主進程佈局

在shell主線程裏(非tmux會話中)可使用下列命令來操做會話.學習

tmux new -s foo # 新建名稱爲 foo 的會話
tmux ls # 列出全部 tmux 會話
tmux a # 恢復至上一次的會話
tmux a -t foo # 恢復名稱爲 foo 的會話,會話默認名稱爲數字
tmux kill-session -t foo # 刪除名稱爲 foo 的會話
tmux kill-server # 刪除全部的會話
複製代碼

窗口操做

  • c 新建窗口,此時當前窗口會切換至新窗口,不影響原有窗口的狀態ui

  • p 切換至上一窗口

  • n 切換至下一窗口

  • w 窗口列表選擇,注意 macOS 下使用 ⌃p 和 ⌃n 進行上下選擇

  • & 關閉當前窗口

  • , 重命名窗口,可使用中文,重命名後能在 tmux 狀態欄更快速的識別窗口 id

  • 0 切換至 0 號窗口,使用其餘數字 id 切換至對應窗口

  • f 根據窗口名搜索選擇窗口,可模糊匹配

窗格操做

  • % 左右平分出兩個窗格

  • " 上下平分出兩個窗格

  • x 關閉當前窗格

  • { 當前窗格前移

  • } 當前窗格後移

  • ; 選擇上次使用的窗格

  • o 選擇下一個窗格,也可使用上下左右方向鍵來選擇

  • space 切換窗格佈局,tmux 內置了五種窗格佈局,也能夠經過 ⌥1 至 ⌥5來切換

  • z 最大化當前窗格,再次執行可恢復原來大小

  • q 顯示全部窗格的序號,在序號出現期間按下對應的數字,便可跳轉至對應的窗格

效果圖

配置問題

使用iterm2加tmux的時候,你會發如今tmux窗口裏面沒法使用鼠標滾動窗口內容,具體表現爲奇奇怪怪的各類樣子.

我搜過好屢次了,此次僥倖成功了,記錄一下.

在主目錄下建立tmux配置文件,vim ~/.tmux.conf,並寫入set -g mouse on.

以後從新加載tmux,tmux source-file ~/.tmux.conf.並從新進入tmux.

而後會發如今iterm中沒法選中複製了.....

打開配置,勾選下圖中的選項.

2019-04-20-10-03-08

OK,done.

tmux的窗口滾動是個玄學.

完.

參考文章

不過我的建議,不要作過多的配置,不少東西用原生的會更好,免去換電腦的操做,並且原生的習慣了,會更加順暢一些. 超級詳細的Tmux文章





ChangeLog

2019-01-17 完成 2019-04-20 添加tmux窗口滾動配置

以上皆爲我的所思所得,若有錯誤歡迎評論區指正。

歡迎轉載,煩請署名並保留原文連接。

聯繫郵箱:huyanshi2580@gmail.com

更多學習筆記見我的博客------>呼延十

相關文章
相關標籤/搜索