我終於會用 tmux 啦 !
其實之前就很想學習怎麼使用了,不過一直拖著沒學
後來因為學校Server真的太常斷線了,快瘋了,做事情做到一半工作階段就要重來
所以稍微看了一下用法然後紀錄一下懶人包。
Install
如果是現成的伺服器,大部分SA都會裝啦
sudo apt-get install tmux
基本操作、概念
圖片源自於這篇文章
其實先看這個的話會霧煞煞,我們先體驗一下 tmux 有趣的功能
從正常畫面,先下指令tmux
按下 Ctrl+B
再按 %
現在你往右創建了一個新 pane,並且跳過去了 !
然後按下 Ctrl+B
再按 "
現在你往下創建了一個新 pane,並且跳過去了 !
上面這個就是,"一個 window 下 有三個 pane"
這樣也簡單的介紹到了 window 了 !
整理一下簡單的用法
Ctrl+b之後按下的鍵 | 對應效果 |
---|---|
% | 水平分割 |
" | 垂直分割 |
方向鍵 | 跳到另一個 pane |
x | 關閉目前的 pane |
不過這樣對於 window 的介紹還不夠,我們試著建立新的 window
按下 Ctrl+B
再按 c
我們可以發現,剛剛分割的panel都不見了
而且左下角多了一些東西 !
以我的畫面來說,我多了一個 1:csh*
這就是新增一個 window !
整理一下簡單的用法
Ctrl+b之後按下的鍵 | 對應效果 |
---|---|
c | 創建新的 window |
& | 關閉目前 window |
p | 跳到前一個 window |
n | 跳到下一個 window |
數字 | 跳到指定數字的 window |
l | 上一個你在的 window |
- 請注意,如果你把 window 最後一個也關掉,那這個 session 將也不復存在。
也就是說,這個工作階段會直接消失哦~- 效果同 Ctrl+d
什麼是 Session 呢 ?
我的理解是 : 一個工作階段
一個人有很多的工作階段,像是他可能寫作業寫到一半,臨時想保存這個工作階段
所以他可以跳出這個 session,去創一個新的來做其他事情。
當然,我們也可以創一個新的 window 來代替
不過跳 seesion 可以讓你的工作們切割得比較開
而且後續也有一些關於 session 的操作,搭配起來可以用得更彈性。
讓我們來離開目前 Session 吧 !
按下 Ctrl+B
再按 d
OK,我們跳出了 !
我們看一下目前有什麼 session 正在運作
指令 : tmux ls
讓我們再新增一個 session
指令 : tmux
好,我們新創了一個 session 了,如果上一個 session 的名字是預設的 [0] ,那這個就會是 [1]
接下來的操作就跟之前介紹的很像,我們可以自由地在裡面做事情。
為了方便介紹,我們先退出這個 session
讓我們查看一下我們有哪些 session 正在運作吧。
我的 session 會有這麼多,是因為這些是我自己另外創的,
如果從上面操作到這邊,應該只會有 0 和 1
假設今天我想要結束第 7 號 session ,我們可以用以下指令tmux kill-session -t 7
想要跳到指定 session (這邊假設6)tmux attach -t 6
或是tmux a -t 6
如果我們已經在某個 session 中了,想要直接跳過去的話 :
按下 Ctrl+b
再按 s
可以上下選擇你想要的 session
以下是一些綜合應用的其他常用操作
如果我們想要創見指定名稱的 session
tmux new -s MyHw
就會創見一個 MyHw 的 session想要重新命名某個 session
tmux rename -t MyHw doneHw
如果我們在某 session 裡面了又想要 rename
按下Ctrl+b
再按:
- 如果你已經在想要改的session中
rename-session doneHw
- 如果在其他 session 想改另一個 s 的名稱
rename-session MyHw doneHw
或rename -t MyHw doneHw
- 如果你已經在想要改的session中
我想改 window的名子
按下Ctrl+b
再按,
然後直接輸入新的名字
或是Ctrl+b
再按:rename-window <newName>
下面是一些酷炫的操作 ...
已下操作都是進入 tmux 後
Ctrl+b
再按 %
然後 Ctrl+b
再按 t
在有時間的這個pane按enter時間就會消失了
所以這時記得按 ^b 然後 方向鍵 跳回工作 pane
Ctrl+b
再按 c
將pane形成一個圈圈,輪流轉到你目前的pane
Ctrl+b
再按 q
顯示當前window裡的 pane 編號
Ctrl+b
再按 z
留下當前操作的 pane,其他pane都暫時先縮小
.tmux.conf
1 | set -g status-right "MeteorV's tmux %H:%M:%S %d-%b-%y" |
Refresh 一下設定tmux refresh-client -S
刪掉所有工作階段,完全重設tmux kill-server
Ref :
http://www.dayid.org/comp/tm.html
https://blog.longwin.com.tw/2011/04/tmux-learn-screen-config-2011/
https://gist.github.com/spicycode/1229612
https://ithelp.ithome.com.tw/articles/10129761