前幾天講了 tmux 的用法和套件,但為什麼非得使用 tmux 不可,而不直接使用 terminal 來操作呢?今天講幾個 tmux 的使用情境。

不怕程式當掉或網路當掉,關掉重開還在繼續跑

使用 tmux 你可以隨時 detach 並 attach,例如說當你連接到遠端的高級伺服器訓練你的深度學習腳本,有時候跑下去可能就花掉半天的時間。你也不可能一直把你的 SSH 掛在那裡,沒事還去動個鍵盤,確保 SSH 連線不會斷掉。這時候就可以先用 tmux 開一個 session,並在裡面執行你要跑很久的程式,不想使用的時候就按下 Ctrl-b + D 來 detach,甚至你直接關掉你的 terminal 視窗也可以。

同理,就算是在本機,如果有東西你預期會跑很久,也可以開個 tmux 再跑,這樣你關掉 Terminal 晚點再進去看東西也不會不見。

當然,你的電腦必須保持執行。你總不能筆電開個 tmux,然後筆電關機帶著跑 XD

邊寫程式邊看 CPU 使用率

不確定你的程式寫得對不對嗎?你預期開下去就會讓 CPU 滿載,然後一直離開 vim 再切 htop 查看負載?

你可以直接使用 tmux 的分割視窗功能,左邊開著 vim,右邊開著 htop,看看有沒有符合你的預期。

python_cpu

邊寫程式邊 Debug

畢竟 Chromebook 就是輕巧方便,你可能螢幕不大,更不可能帶著雙螢幕在身上到處跑,切割視窗讓你不用滑鼠點來點去切換到不同的視窗。例如你在撰寫 JavaScript 的時候,左邊開著 vim,右邊可能要同時開著後端程式、前端程式看有沒有問題,這時候就可以把視窗分割成這樣。

nodejs_tmux

你可以再透過 NERDTree,不用離開 vim 就可以直接切換檔案。

如果你用 Chrome OS 開發網站的話,建議你開啟虛擬桌面功能,然後把 Terminal 放在一個桌面、Chrome 放在一個桌面,你就可以使用 啟動器 + ]啟動器 + [ 來快速切換視窗。

以上就是 tmux 的簡單介紹,大概也是我平常使用 tmux 的情境。簡單記住幾個快速鍵就可以用得很順手了,也省下一直切換視窗的時間。

本篇文章同步發表在 iT邦幫忙