Tmux 學習摘要1 使用預設配置進行基本操作

2021-10-04 09:35:12 字數 4175 閱讀 2418

tmux 是乙個執行於 os x 和 unix 上的終端分屏軟體 terminal multiplexer。

在 os x 上:

$ brew install tmux
在 debian 和 ubuntu 上:

$ sudo apt-get install tmux
確定是否安裝成功:

$ tmux -v
開啟 tmux 只需輸入命令:

$ tmux
執行後會開啟乙個 tmux 會話,和普通的終端會話一樣,可以在裡面輸入和執行任何命令。

要想從該 tmux 會話中退回到普通的終端,輸入命令:

$ exit
以上的使用方式用處不大,應該使用 「命名會話」。

一台機器上可以有多個會話,要使各會話組織有序,應對其命名。

建立乙個命名為 basic 的會話:

$ tmux new-session -s basic
也可以用簡寫的命令:

$ tmux new -s basic
tmux 是乙個 cs 模式的程式,當開啟乙個 tmux 會話時,會話就是乙個伺服器。所有在該會話環境中開啟的程式和程序都由這個會話伺服器管理。當你與該會話 「脫離」 時,由於會話還沒有結束,這些開啟的程式和程序都會在後台繼續執行。之後,我們可以重新 「關聯」 該會話,繼續之前的工作。

示例:先建立乙個命名會話:

$ tmux new -s basic
在該會話中,開啟乙個 top 命令:

$ top
然後使用快捷鍵ctrl-b d從當前會話中脫離出來,脫離後,會回到普通的終端中。

ctrl-b d快捷鍵的正確按法是:先同時按下ctrl鍵和b鍵作為 tmux 命令的字首,再全部鬆開按鍵,然後迅速按下代表 tmux 命令的d鍵,將 d 命令傳送給 tmux。

tmux 的預設命令字首是ctrl-b,記為prefix,可以對該設定進行再繫結。

列出當前機器上的全部會話:

$ tmux list-sessions
也可以用簡寫命令:

$ tmux ls
該命令會顯示當前只有乙個會話:

basic: 1 windows (created sat jul 30 09:48:32 2016) [80x23]
要想關聯現有的會話,如果只有乙個會話的話,直接:

$ tmux attach
先用prefix d從當前會話脫離,再建立乙個新的會話但不自動關聯:

tmux new -s second_session -d
此時羅列會話命令會出來有兩個會話:

tmux ls
basic: 1 windows (created sat jul 30 09:48:32 2016) [80x23]

second_session: 1 windows (created sat jul 30 09:52:31 2016) [80x23]

可以用-t(target?) 選項來指定關聯的會話:

$ tmux attach -t second_session
在 tmux 會話內部,可以用exit命令直接銷毀和退出當前會話。在普通終端下也可以用kill-session進行:

$ tmux kill-session -t basic

$ tmux kill-session -t second_session

如果某個會話中有僵死的程式,可以用這個方法來關閉整個會話。

在乙個 tmux 會話中可以同時執行多個程式,tmux 在會話中可以使用多視窗對多個程式進行有序組織和管理。

當開啟乙個會話時,會自動建立乙個初始視窗,之後,在會話中可以再建立更多的視窗。

建立乙個命名為windows的會話,並將第乙個(預設)視窗命名為shell

$ tmux new -s windows -n shell
在會話中,使用快捷鍵prefix c建立乙個新的視窗。並在該視窗中執行top命令。注意到,該視窗的名稱是基於執行的程式而動態變化的。為方便管理,應對其顯式命名,方法是在使用快捷鍵prefix ,後,在狀態列中輸入名稱,如 processes。

當前焦點視窗的視窗名上會有乙個*號。視窗切換可以用以下快捷鍵:

要關閉當前視窗,在視窗中直接執行exit命令。也可以用快捷鍵prefix &,它會在狀態列進行確認操作。當所有視窗都關閉後,會話也隨之關閉。

乙個視窗可以分割成多個窗格。並在每個窗格中執行不同程式。

建立乙個新的會話,練習多窗格操作:

$ tmux new -s panes
窗格分割快捷鍵:

在各窗格間切換焦點,用快捷鍵prefix o,也可以用prefix 方向鍵進行切換。

內建的幾種布局模板:

可以用快捷鍵prefix spacebar依次在各布局模板間切換。

用快捷鍵prefix x

當前使用的快捷鍵都是 tmux 命令的快捷鍵。tmux 命令即可以在終端命令列中執行,也可以和 vi 類似,在命令模式下的狀態行中執行。

在會話中,進入命令模式用快捷鍵prefix :, 此時,可以在狀態列中執行相應的 tmux 命令,如建立乙個命名為 console 的新視窗:new-window -n console

建立乙個命名視窗,同時執行 「top」 命令:new-window -n processes "top",這樣建立的視窗當視窗中的命令執行完畢後,視窗會自動關閉。

快捷鍵prefix ?列出所有的快捷鍵。

建立會話的命令:

命令 | 描述

----------------------------|

tmux new-session | 建立乙個匿名會話,可以簡寫為tmux new或直接tmux

tmux new -s devel | 建立乙個命名為 「devel」 的會話

tmux new -s devel -n editor | 建立乙個名稱為 「devel」 的會話,且將第乙個視窗命名為 「editor」

tmux attach -t devel | 關聯到名為 「devel」 的會話

關於會話、視窗、窗格的預設命令

命令 | 描述

-------------|

prefix d | 脫離會話,會話會在後台繼續執行

prefix : | 進入命令模式

prefix c | 在會話中建立乙個新視窗,對應 tmux 命令new-window

prefix 0…9 | 根據視窗編號在視窗中切換

prefix w | 顯示出當前會話中所有的視窗,供選擇切換

prefix , | 命名當前視窗

prefix & | 關閉當前視窗

prefix % | 水平平均分割視窗

prefix " | 垂直平均分割視窗

prefix o | 在多個窗格間迴圈切換

prefix q | 顯示窗格的編號

prefix x | 關閉當前窗格

prefix space | 在各窗格布局前切換

tmux: productive mouse-free development

tmux使用及配置

這篇部落格跟以前的vim配置一樣,都是為了以後本人自己方便備份的tmux配置檔案 0.安裝 centos預設自帶的軟體是screen,沒有帶tmux,所以需要源 安裝 這個時候會出錯,因為tmux需要libevent環境。而且高版本的tmux需要libevent版本是2.0以上的,而centos6....

HTML學習摘要1

在 學習前端知識,利用暑假,自主學習以拓展知識面 day 1 html 不是一種程式語言,而是一種標記語言 markup language 標記語言是一套標記標籤 markup tag html 使用標記標籤來描述網頁 html 文件描述網頁 html 文件包含html 標籤和純文字 html 文件...

Perl學習筆記1 基礎摘要

1.argv 儲存程式的引數,不包括程式名,各引數可通過 argv index 訪問 程式名稱儲存在 0中。2.子過程引數儲存在 中,各個引數通過 index 訪問。3.list array的最後個索引為 array。4.變數未初始化的情況下 scalar型為undef,list型為空列表。5.讀取...