Tmux 學習摘要1--使用默認配置進行基本操做

tmux 是一個運行於 OS X 和 Unix 上的終端分屏軟件 terminal multiplexershell

快捷鍵的表示及按鍵規則

  • CTRL-b: 同時按下 CTRL 鍵和 b
  • CTRL-R: 同時按下 CTRLSHIFTr
  • CTRL-b d: 同時按下 CTRL 鍵和 b 鍵,再鬆開,而後再迅速按下 d

安裝

在 OS X 上:windows

$ brew install tmux

在 Debian 和 Ubuntu 上:服務器

$ sudo apt-get install tmux

肯定是否安裝成功:session

$ tmux -V

開啓 tmux

開啓 tmux 只需輸入命令:佈局

$ tmux

執行後會打開一個 tmux 會話,和普通的終端會話同樣,能夠在裏面輸入和執行任何命令。命令行

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

$ exit

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

建立命名會話

一臺機器上能夠有多個會話,要使各會話組織有序,應對其命名。進程

建立一個命名爲 basic 的會話:ip

$ 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。

在會話中的窗口間切換

當前焦點窗口的窗口名上會有一個 * 號。窗口切換能夠用如下快捷鍵:

  • PREFIX n: 移到下一個(可往復循環)
  • PREFIX p: 移到上一個(可往復循環)
  • PREFIX 編號: 直接移到某編號的窗口,如 PREFIX 0
  • PREFIX f: 根據窗口名來定位
  • PREFIX w: 顯示出一個含有全部窗口名稱的列表窗口,供選擇切換

要關閉當前窗口,在窗口中直接運行 exit 命令。也能夠用快捷鍵 PREFIX &,它會在狀態欄進行確認操做。當全部窗口都關閉後,會話也隨之關閉。

多窗格操做

一個窗口能夠分割成多個窗格。並在每一個窗格中運行不一樣程序。

建立一個新的會話,練習多窗格操做:

$ tmux new -s panes

窗格分割快捷鍵:

  • PREFIX %: 水平平均分割
  • PREFIX ": 垂直平均分割

在各窗格間切換焦點,用快捷鍵 PREFIX o,也能夠用 PREFIX 方向鍵 進行切換。

窗格佈局模板

內置的幾種佈局模板:

  • even-horizontal: 從左到右水平平均佈局
  • even-vertical: 從上到下垂直平均佈局
  • main-horizontal: 上側一個大窗格,其它的在下邊
  • main-vertical: 左側一個大窗格,其它的在右邊
  • tiled: 全部窗格在屏幕上平均佈局

能夠用快捷鍵 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

相關文章
相關標籤/搜索