一旦你熟悉了 tmux 后, 它就像一個(gè)加速器一樣加速你的工作效率。在這個(gè)章節(jié)你會(huì)了解到 tmux 的基本特性,包括使用會(huì)話,窗口和面板管理你的程序。這些簡(jiǎn)單的概念正是組成 tmux 的重要基石,是它們讓 tmux 成為開(kāi)發(fā)人員和系統(tǒng)管理員的手中利器。
在學(xué)習(xí)如何使用這些特性之前,你需要確保 tmux 已被安裝。
你可以通過(guò)兩種方式安裝 tmux:使用包管理器安裝,或者從源碼編譯構(gòu)建安裝。
無(wú)論選擇哪種方式,都要確保安裝的 tmux 是 1.6 或更新版本,本書(shū)使用的是 tmux 1.6 版。早期的版本可能不支持我們將要學(xué)習(xí)的一些特性。
tmux 可以在多種包管理器中安裝。在 OS X 系統(tǒng),你可以通過(guò) Homebrew 或 Macports 安裝 tmux。如何安裝包管理器不在本書(shū)的范圍內(nèi),請(qǐng)為你選擇的管理器查閱相關(guān)資料。無(wú)論你選擇了哪種包管理器,可能都會(huì)用到 Xcode,可以通過(guò) Mac 電腦的隨機(jī)光盤安裝 Xcode,或是通過(guò) Mac App Store 安裝。
如果你使用的是 Homebrew,可以通過(guò)以下命令安裝:
$ brew install tmux
如果你使用的是 MacPorts,可以通過(guò)以下命令安裝:
$ sudo port install tmux
對(duì)于 Ubuntu 用戶,可以通過(guò)以下命令安裝:
$ sudo apt-get install tmux
在終端中執(zhí)行以下命令來(lái)確認(rèn) tmux 版本號(hào)及安裝是否正確:
$ tmux -V
tmux 1.6
由于包管理器的原因,你可能無(wú)法安裝最近的 tmux 版本,這意味著你需要通過(guò)源碼編譯安裝。下面我們看看如何安裝。
在 Mac OS X 與 Linux 編譯安裝 tmux 的過(guò)程是一樣的,兩者都需要 GCC 編譯器。
Mac 用戶需要安裝 Xcode,可以在隨機(jī)光盤或 Mac App Store 中獲取。
Linux 用戶,自帶的包管理器往往已經(jīng)內(nèi)置了 GCC 編譯器。對(duì)于 Ubuntu 系統(tǒng),只需要執(zhí)行以下命令就可以安裝好所有編譯器:
$ sudo apt-get install build-essential
tmux 還依賴 libevent 和 ncurses,請(qǐng)事先安裝好。對(duì)于 Ubuntu 系統(tǒng),可以使用以下命令安裝:
$ sudo apt-get install libevent-dev libncurses5-dev
編譯器與軟件包依賴安裝后,下載 tmux 源碼,執(zhí)行以下命令解壓并安裝:
$ tar -zxvf tmux-1.6.tar.gz
$ cd tmux-1.6
$ ./configure
$ make
$ sudo make install
你可以執(zhí)行以下命令驗(yàn)證安裝是否成功,該命令會(huì)返回當(dāng)前 tmux 版本:
$ tmux -V
tmux 1.6
現(xiàn)在 tmux 已經(jīng)安裝完成了,下面我們開(kāi)始通過(guò)一個(gè)基礎(chǔ)的會(huì)話展開(kāi)對(duì) tmux 核心功能的探索。
在終端中只要執(zhí)行以下命令就可以啟動(dòng) tmux:
$ tmux
然后在屏幕上會(huì)出現(xiàn)一個(gè)類似圖 2 的界面,這就是一個(gè)新的 tmux 會(huì)話。使用起來(lái)就像在普通終端中一樣,在里面執(zhí)行任何終端命令都和普通終端差不多。
圖2 - 新的 tmux 會(huì)話
要關(guān)閉 tmux 會(huì)話,只需在會(huì)話中輸入:
$ exit
這樣就可以關(guān)閉 tmux 并返回到標(biāo)準(zhǔn)終端中。
但是,除非你只是很短暫地用一下 tmux,否則我們不建議你使用這種方式來(lái)使用會(huì)話。我們?cè)诤竺鏁?huì)說(shuō)明如何創(chuàng)建一種“命名會(huì)話(named session)”來(lái)取代這種方式。
我們可以在一臺(tái)計(jì)算機(jī)上創(chuàng)建多個(gè)會(huì)話,并且通過(guò)為每個(gè)會(huì)話指定一個(gè)唯一的名稱來(lái)管理它們。我們現(xiàn)在就來(lái)創(chuàng)建一個(gè)叫做 basic 的會(huì)話:
$ tmux new-session -s basic
這個(gè)命令可以簡(jiǎn)化為:
$ tmux new -s basic
這種簡(jiǎn)化命令會(huì)在本書(shū)的后面一直使用。
執(zhí)行這條命令后我們會(huì)進(jìn)入到一個(gè)全新的會(huì)話中,但是我們并不會(huì)感到與之前進(jìn)入 tmux 會(huì)話的方式有何不同之處。如果我們輸入 exit
命令,也會(huì)返回到標(biāo)準(zhǔn)終端里。
然而命名會(huì)話會(huì)在我們想讓 tmux 在后臺(tái)運(yùn)行而又不想關(guān)閉 tmux 時(shí)變得非常方便,我們接下來(lái)會(huì)討論這部分內(nèi)容。在繼續(xù)之前,請(qǐng)輸入命令來(lái)離開(kāi) tmux:
$ exit
tmux 的一個(gè)最大優(yōu)勢(shì)就是啟動(dòng) tmux 環(huán)境并執(zhí)行各種程序或進(jìn)程時(shí),可以通過(guò)從會(huì)話“分離(detaching)”讓 tmux 在后臺(tái)運(yùn)行。
如果我們關(guān)閉了一個(gè)普通的終端會(huì)話,那么這個(gè)會(huì)話中的所有程序都會(huì)被殺死。但是從一個(gè) tmux 會(huì)話分離時(shí),實(shí)際上并沒(méi)有關(guān)閉 tmux。在這個(gè)會(huì)話中運(yùn)行的程序仍然在運(yùn)行。然后可以在任何想要的時(shí)候再“連接(attaching)”上這個(gè)會(huì)話,你會(huì)發(fā)現(xiàn)所有的界面(現(xiàn)場(chǎng))就和你分離會(huì)話時(shí)一模一樣。下面對(duì)這個(gè)功能的演示中,我們會(huì)創(chuàng)建一個(gè)命名會(huì)話,啟動(dòng)一個(gè)程序,然后從這個(gè)會(huì)話中分離。首先創(chuàng)建這個(gè) basic 會(huì)話:
$ tmux new -s basic
然后,在這個(gè) tmux 會(huì)話中執(zhí)行一個(gè) top
命令,它用來(lái)監(jiān)測(cè)計(jì)算機(jī)的內(nèi)存和 CPU 使用情況,就像這樣:
$ top
現(xiàn)在終端里就有與圖3(tmux 中運(yùn)行的 top 命令)類似的界面了。這時(shí)在鍵盤上同時(shí)按下 CTRL-b
鍵,然后再按下 d
鍵,這樣就從 tmux 會(huì)話中分離出來(lái),返回到標(biāo)準(zhǔn)終端界面里了。在后面我們會(huì)學(xué)習(xí)如何快速地返回到 basic 會(huì)話中,但是首先我們來(lái)談?wù)劽钋熬Y(command prefix)。
圖3 - 在 tmux 中執(zhí)行 top 命令
由于我們的程序是在 tmux 環(huán)境里運(yùn)行的,因此需要一種方式來(lái)告訴 tmux 當(dāng)前所輸入的命令是為了讓 tmux 去執(zhí)行而不是 tmux 里的應(yīng)用程序去執(zhí)行,這就是 CTRL-b
組合鍵的作用。
當(dāng)我們想要從 tmux 會(huì)話中分離時(shí),可以先按 CTRL-b
鍵,然后再按 d
鍵(d=detach,譯者注)。在執(zhí)行 tmux 命令時(shí),每次都要先按下這個(gè) CTRL-b
組合鍵,然后再按下 tmux 命令鍵(如 d
),因此我們把這個(gè)組合鍵稱為命令前綴。有一點(diǎn)非常重要:并不是把前綴鍵和命令鍵一起按下,而是先同時(shí)按下 CTRL
鍵和 b
鍵,然后松開(kāi)這兩個(gè)鍵,然后再快速地按下要讓 tmux 執(zhí)行的命令鍵。
在本書(shū)的剩余部分中,我們會(huì)使用符號(hào) PREFIX
來(lái)表示命令前綴,比如 PREFIX d
命令表示從一個(gè) tmux 會(huì)話分離。在第二章,我們會(huì)將前綴重新映射為一個(gè)更加方便的組合鍵,但是目前,我們還是使用默認(rèn)的組合鍵。
現(xiàn)在,我們來(lái)學(xué)習(xí)如何回到剛才分離的那個(gè) tmux 會(huì)話。在這之前,請(qǐng)將你的終端窗口關(guān)閉。
我們之前新建了一個(gè) tmux 會(huì)話,在會(huì)話中運(yùn)行了一個(gè)程序,然后從這個(gè)會(huì)話中分離出來(lái),最后甚至關(guān)閉了終端窗口,但是這個(gè) tmux 會(huì)話依然在運(yùn)行,而 top 命令也沒(méi)有停止運(yùn)行。
在一個(gè)新的終端窗口里執(zhí)行以下命令列出當(dāng)前存在的 tmux 會(huì)話:
$ tmux list-sessions
這個(gè)命令可以簡(jiǎn)化為:
$ tmux ls
這條命令會(huì)展示目前有一個(gè)會(huì)話正在運(yùn)行:
basic: 1 windows (created Mon Jan 30 16:58:26 2012) [105x25]
要想連接到這個(gè)會(huì)話,可以使用 attach 命令。如果目前只有一個(gè)會(huì)話在運(yùn)行,可以用下面這個(gè)命令來(lái)連接它:
$ tmux attach
這樣就可以重新連接到這個(gè) tmux 會(huì)話中。如果有 2 個(gè)或多個(gè) tmux 會(huì)話在運(yùn)行,操作會(huì)稍微麻煩一些。我們先用命令 PREFIX d
從 basic 會(huì)話中分離出來(lái)。
現(xiàn)在,用這個(gè)命令創(chuàng)建一個(gè)新的 tmux 會(huì)話并讓它在后臺(tái)運(yùn)行:
$ tmux new -s second_session -d
再列出當(dāng)前已有的會(huì)話列表,就會(huì)看見(jiàn)類似如下:
$ tmux ls
basic: 1 windows (created Mon Jan 30 16:58:26 2012) [105x25]
second_session: 1 windows (created Mon Jan 30 17:49:21 2012) [105x25]
用 -t
參數(shù)加上會(huì)話名稱來(lái)連接到指定的會(huì)話,如連接到 second_session 這個(gè)會(huì)話:
$ tmux attach -t second_session
我們可以用前面提到的命令從一個(gè)會(huì)話中分離出來(lái),然后再連接到另一個(gè)會(huì)話里。在后續(xù)章節(jié)你會(huì)學(xué)到在活動(dòng)會(huì)話之間切換的其它方式。但是現(xiàn)在,我們先學(xué)習(xí)如何殺死一個(gè)活動(dòng)會(huì)話。
可以在一個(gè)會(huì)話中使用 exit
命令來(lái)殺死這個(gè)會(huì)話,也可以使用 kill-session 命令殺死指定會(huì)話:
$ tmux kill-session -t basic
$ tmux kill-session -t second_session
當(dāng)一個(gè)會(huì)話中的程序處于掛起狀態(tài)時(shí)這個(gè)命令會(huì)很有用。
此時(shí),如果再次列出當(dāng)前已有會(huì)話,會(huì)得到這樣的信息:
$ tmux ls
failed to connect to server: Connection refused
這是因?yàn)槟壳皼](méi)有 tmux 會(huì)話在運(yùn)行,因此 tmux 本身也沒(méi)有運(yùn)行,所以它無(wú)法處理這個(gè)請(qǐng)求。
現(xiàn)在你已經(jīng)學(xué)會(huì)了創(chuàng)建并使用會(huì)話的基礎(chǔ)知識(shí)了,下面我們來(lái)學(xué)習(xí)如何在一個(gè)會(huì)話中同時(shí)運(yùn)行多個(gè)程序或命令。
在一個(gè) tmux 會(huì)話中同時(shí)運(yùn)行多個(gè)命令或同時(shí)執(zhí)行多個(gè)程序的情景非常普遍??梢酝ㄟ^(guò)窗口(window)來(lái)管理它們,窗口的功能就像現(xiàn)代圖形終端模擬器或 web 瀏覽器的標(biāo)簽頁(yè)。
一個(gè)新的 tmux 窗口被創(chuàng)建時(shí),tmux 環(huán)境(environment)會(huì)為配置一個(gè)初始化的窗口。我們可以創(chuàng)建任意多的窗口,而且在分離與連接會(huì)話過(guò)程中它們會(huì)一直存在。
現(xiàn)在我們來(lái)創(chuàng)建一個(gè)包含 2 個(gè)窗口的新會(huì)話。第一個(gè)窗口只顯示終端提示符,而第二個(gè)窗口將會(huì)執(zhí)行 top 命令。可以用以下命令來(lái)創(chuàng)建一個(gè)叫做 windows 的會(huì)話:
$ tmux new -s windows -n shell
命令中的 -n
參數(shù)可以讓 tmux 把第一個(gè)窗口命名為 shell,方便我們辨識(shí)這個(gè)窗口。
接下來(lái)再為這個(gè)會(huì)話添加一個(gè)窗口。
要在當(dāng)前會(huì)話創(chuàng)建一個(gè)新的窗口,只需要按下 PREFIX c
鍵。這樣創(chuàng)建一個(gè)窗口會(huì)讓 tmux 自動(dòng)把焦點(diǎn)切換到這個(gè)新的窗口里來(lái)。在這里可以運(yùn)行其他程序,在這個(gè)窗口里我們運(yùn)行 top
命令。
$ top
我們已經(jīng)為第一個(gè)窗口命名為 shell,但是第二個(gè)窗口似乎看起來(lái)叫做 top。由于在創(chuàng)建這個(gè)新的窗口時(shí)并沒(méi)有為它命名,因此這個(gè)窗口的名稱會(huì)隨著當(dāng)前運(yùn)行的程序變化而變化。我們來(lái)給這個(gè)窗口取個(gè)名吧。
要重命名一個(gè)窗口,可以通過(guò)按下 PREFIX ,
鍵(前綴 + 逗號(hào)鍵,譯者注),然后狀態(tài)欄就會(huì)進(jìn)入重命名窗口的界面。我們將這個(gè)窗口命名為 Processes。
可以在一個(gè) tmux 會(huì)話中創(chuàng)建任意多個(gè)窗口。但是一旦創(chuàng)建了 2 個(gè)窗口以上,就必須學(xué)會(huì)如何在窗口之間切換(move)。
我們已經(jīng)在 tmux 環(huán)境中創(chuàng)建了兩個(gè)窗口,有多種方法可以在這些窗口之間來(lái)回切換。如果只有兩個(gè)窗口,按下 PREFIX n
鍵(n=next,譯者注)在已打開(kāi)窗口之間來(lái)回切換。
可以按下 PREFIX p
鍵(p=previous,譯者注)切換到上一個(gè)窗口。
tmux 的窗口默認(rèn)有一個(gè)編號(hào),從 0 開(kāi)始計(jì)數(shù)。按下 PREFIX 0
鍵快速切換到第 1 個(gè)窗口,按下 PREFIX 1
鍵切換到第 2 個(gè)窗口。從 0 開(kāi)始計(jì)數(shù)的窗口數(shù)組并不是一成不變的,在第 2 章,你會(huì)學(xué)到如何讓窗口編號(hào)不是從 0 開(kāi)始,而是從 1 開(kāi)始。
如果窗口超過(guò)了 9 個(gè),可以按下 PREFIX f
鍵(f=find,譯者注)通過(guò)窗口的名稱來(lái)查找一個(gè)窗口(如果窗口已被命名),或者按下 PREFIX w
鍵(w=window,譯者注)顯示一個(gè)可視化的窗口列表,然后再選擇其中想要的那個(gè)窗口。
從這里,我們可繼續(xù)創(chuàng)建新的窗口并運(yùn)行程序。從會(huì)話中分離出來(lái)后,那些窗口會(huì)在下次連接時(shí)保持依然保持?jǐn)嚅_(kāi)連接時(shí)候的環(huán)境。
如果要關(guān)閉一個(gè)窗口,可以在命令提示符后輸入 exit
,或者可以按下 PREFIX &
鍵(&=et=exit,譯者注),后者會(huì)在狀態(tài)欄給出一個(gè)確認(rèn)信息詢問(wèn)是否要關(guān)閉當(dāng)前窗口。如果確認(rèn)并關(guān)閉了當(dāng)前窗口,那么當(dāng)前窗口的焦點(diǎn)就會(huì)轉(zhuǎn)移到上一個(gè)窗口。要想完全退出一個(gè) tmux 會(huì)話,必須要關(guān)閉所有窗口。
在會(huì)話中創(chuàng)建窗口這個(gè)功能已經(jīng)非常了不起了,但是我們還能進(jìn)一步讓 tmux 把一個(gè)窗口分割成多個(gè)面板(pane)。
你或許認(rèn)為能夠在不同的窗口之間運(yùn)行不同的程序已經(jīng)非常棒了。但是 tmux 還能把窗口分割成多個(gè)面板。
下面我們就來(lái)創(chuàng)建一個(gè)名為 panes 的會(huì)話來(lái)演示面板的工作機(jī)制。
$ tmux new -s panes
窗口可以以垂直方向或水平方向分割。我們先把窗口在垂直方向分割,然后再在水平方向分割,這樣就能得到一個(gè)窗口,左邊一半是一個(gè)大的面板,右邊一半是兩個(gè)并排的小一些的面板,就像圖4(一個(gè)被切分為多個(gè)面板的 tmux 會(huì)話)那樣。
圖4 - 一個(gè)被切分為多個(gè)面板的 tmux 會(huì)話
在 tmux 會(huì)話中,按下 PREFIX %
鍵(%形似左右各一半,譯者注),當(dāng)前的窗口就會(huì)在中間部分從上到下一分為二,在右邊的面板里新建第二個(gè)面板,而且當(dāng)前的焦點(diǎn)也會(huì)轉(zhuǎn)移到新的面板中。
再按下 PREFIX "
鍵(雙引號(hào),譯者注),會(huì)把這個(gè)新的面板再水平地分割為兩半。tmux 的默認(rèn)配置會(huì)使得在分割面板時(shí),分割出的兩個(gè)面板會(huì)各占 50% 大小。
要想在這些面板之間來(lái)回切換,可以按下 PREFIX o
鍵(o形似循環(huán),譯者注)。還可以通過(guò)使用 PREFIX
前綴鍵,后面跟隨 UP
、DOWN
、LEFT
或 RIGHT
鍵(上、下、左、右箭頭,譯者注)在這些面板之間上、下、左、右移動(dòng)焦點(diǎn)。
通過(guò)幾次按鍵,我們已經(jīng)把一個(gè)窗口分割成了帶有 3 個(gè)面板的工作空間。我們接下來(lái)看看如何重新調(diào)整這些面板的布局(layout)。
可以通過(guò)逐步調(diào)整或使用模版來(lái)調(diào)整一個(gè)面板的大小。使用默認(rèn)的快捷鍵來(lái)逐步調(diào)整面板的大小不得不說(shuō)讓人覺(jué)得惡心。在第 2 章,我們會(huì)定義一些調(diào)整面板大小更加便捷的快捷鍵。但是目前,我們還是會(huì)使用 tmux 的幾個(gè)默認(rèn)面板布局中的一個(gè):
可以通過(guò)按下 PREFIX SPACEBAR
鍵(空格鍵,譯者注)來(lái)依次輪回使用這些面板布局。
關(guān)閉一個(gè)面板和關(guān)閉終端會(huì)話或一個(gè) tmux 窗口的方法相同:只需要在面板里輸入 exit
命令。還可以通過(guò)按下 PREFIX X
鍵(大寫 x 鍵,譯者注)殺死一個(gè)面板,如果當(dāng)前窗口只有這一個(gè)面板的話,它還會(huì)同時(shí)關(guān)閉這個(gè)窗口。
在殺死指定的面板時(shí),你會(huì)收到確認(rèn)提示。如果某個(gè)面板被阻塞了,或者你再也用不著這個(gè)面板了,不要猶豫,殺死這個(gè)面板。
目前為止,你應(yīng)該已經(jīng)學(xué)會(huì)了如何創(chuàng)建新的會(huì)話、窗口和面板,并且能在它們之間來(lái)回切換了。在繼續(xù)深入之前,我們先來(lái)了解一些 tmux 命令。
到現(xiàn)在,我們已經(jīng)可以使用快捷鍵來(lái)創(chuàng)建 tmux 窗口和面板了,這些快捷鍵都只是 tmux 預(yù)先定義好的一些組合鍵。有兩種方法來(lái)執(zhí)行 tmux 命令:從終端本身執(zhí)行,或者在 tmux 狀態(tài)欄的“命令區(qū)域(command area)”執(zhí)行命令。在第 3 章我們會(huì)學(xué)到如何在終端里執(zhí)行 tmux 命令?,F(xiàn)在我們來(lái)學(xué)習(xí)如何使用 tmux 的命令模式來(lái)創(chuàng)建一些新的窗口和面板。
進(jìn)入命令模式,你需要在一個(gè)正在運(yùn)行的會(huì)話里按下 PREFIX :
鍵(冒號(hào)鍵,譯者注)。按下快捷鍵之后狀態(tài)欄的顏色會(huì)改變,并且你會(huì)看到一個(gè)命令提示符提示你可以輸入命令。我們現(xiàn)在就來(lái)使用 new-window 命令創(chuàng)建一個(gè)新的窗口,就像這樣:
new-window -n console
使用這個(gè)命令而不是使用快捷鍵來(lái)創(chuàng)建新的窗口的好處就是在創(chuàng)建窗口的同時(shí)我們附加一個(gè) -n
參數(shù)給它取個(gè)名字。我們現(xiàn)在更進(jìn)一步,創(chuàng)建一個(gè)窗口并讓它執(zhí)行 top
命令。在命令模式里輸入這個(gè)命令:
new-window -n processes "top"
當(dāng)我們敲下 Enter
時(shí),新窗口就會(huì)顯示出來(lái)并且可以看到 top 命令也在運(yùn)行,顯示了當(dāng)前計(jì)算機(jī)正在運(yùn)行的進(jìn)程。
在創(chuàng)建 tmux 窗口時(shí)給它指定一個(gè)初始化的進(jìn)程是非常便捷的,但是當(dāng)按下 q
鍵關(guān)閉 top 程序時(shí),這個(gè) tmux 窗口也會(huì)被一起關(guān)閉。如果你想要讓 top 程序關(guān)閉后窗口依然存在,可以通過(guò)配置文件來(lái)搞定這個(gè)事情,但是最簡(jiǎn)單的辦法莫過(guò)于在創(chuàng)建窗口時(shí)不要給它指定一個(gè)初始化的程序,在創(chuàng)建完窗口之后再執(zhí)行你想要的命令。
tmux 可以使用命令模式來(lái)創(chuàng)建新的窗口,面板和會(huì)話,甚至設(shè)置一些其它的環(huán)境變量配置。在第 2 章,我們會(huì)定制一些快捷鍵來(lái)讓這些命令用起來(lái)更方便、簡(jiǎn)單。
在本章,我們學(xué)習(xí)了關(guān)于 tmux 會(huì)話、面板、窗口和命令的基本用法,但是還有很多知識(shí)我們沒(méi)有提到。
按下 PREFIX ?
鍵(問(wèn)號(hào)鍵,譯者注),你可以看到一個(gè)關(guān)于 tmux 預(yù)定義的快捷鍵列表,以及這些快捷鍵所綁定的命令。
使用 tmux 時(shí),你應(yīng)該多想想如何為你的工作創(chuàng)建不同的 tmux 環(huán)境。如果你在監(jiān)控服務(wù)器,可以使用 tmux 的面板來(lái)創(chuàng)建一個(gè)監(jiān)控面板,讓它可以同時(shí)顯示多個(gè)監(jiān)測(cè)腳本和日志文件。
經(jīng)過(guò)之前的學(xué)習(xí),我們總結(jié)了前面出現(xiàn)的一些命令配置,方便以后查閱。
命令 | 描述 |
---|---|
tmux new-session |
創(chuàng)建一個(gè)未命名的會(huì)話??梢院?jiǎn)寫為 tmux new 或者就一個(gè)簡(jiǎn)單的 tmux |
tmux new -s development |
創(chuàng)建一個(gè)名為 development 的會(huì)話 |
tmux new -s development -n editor |
創(chuàng)建一個(gè)名為 development 的會(huì)話并把該會(huì)話的第一個(gè)窗口命名為 editor |
tmux attach -t development |
連接到一個(gè)名為 development 的會(huì)話 |
快捷鍵 | 功能 |
---|---|
PREFIX d |
從一個(gè)會(huì)話中分離,讓該會(huì)話在后臺(tái)運(yùn)行。 |
PREFIX : |
進(jìn)入命令模式 |
PREFIX c |
在當(dāng)前 tmux 會(huì)話創(chuàng)建一個(gè)新的窗口,是 new-window 命令的簡(jiǎn)寫 |
PREFIX 0...9 |
根據(jù)窗口的編號(hào)選擇窗口 |
PREFIX w |
顯示當(dāng)前會(huì)話中所有窗口的可選擇列表 |
PREFIX , |
顯示一個(gè)提示符來(lái)重命名一個(gè)窗口 |
PREFIX & |
殺死當(dāng)前窗口,帶有確認(rèn)提示 |
PREFIX % |
把當(dāng)前窗口垂直地一分為二,分割后的兩個(gè)面板各占 50% 大小 |
PREFIX " |
把當(dāng)前窗口水平地一分為二,分割后的兩個(gè)面板各占 50% 大小 |
PREFIX o |
在已打開(kāi)的面板之間循環(huán)移動(dòng)當(dāng)前焦點(diǎn) |
PREFIX q |
短暫地顯示每個(gè)面板的編號(hào) |
PREFIX x |
關(guān)閉當(dāng)前面板,帶有確認(rèn)提示 |
PREFIX SPACE |
循環(huán)地使用 tmux 的幾個(gè)默認(rèn)面板布局 |
更多建議: