Mental Models
tmux 基本上就圍繞著三個觀念 session
, window
, pane
。上下關係也是如同這個順序,它可以有多個 session,每個 session 可以有多個 window,每個 window 又可以有多個 pane。
🚀🚀🚀 還有最為重要的一點是 tmux 的前綴詞是 Ctrl + b。🚀🚀🚀
Session
基本上我在使用 tmux 時,只比較常使用到 pane 及 window,而 session 部分我會比較看作是不同專案才建立新的,所以比較不用去操作它。
可以使用 tmux new -s <session name>
來建立一個新的 session,可以使用 tmux ls
來查看目前有哪些 session,使用 tmux attach -t <session name>
來切換 session,離開 session 則可以使用 Ctrl + b + d,較推薦使用此方式,不會刪掉該 session,如果你直接鍵盤輸入 exit
,此方式會連同 session 一同刪除掉,所以較不推薦。
- Ctrl + b + s:視覺化列出目前所有 session
- Ctrl + b + $:重新命名 session
- Ctrl + b + d:關閉 session
- Ctrl + b + (:切換到上一個 session
- Ctrl + b + ):切換到下一個 session
Window and Pane
用上面 tmux new -s <session name>
指令創建好 session 後,都會有一個預設的 window,並且命名為 zsh,及一個編號為 0 的 pane,接著便可以使用下方指令來操作 tmux 。
查找指令
- Ctrl + b + ?:查找所有相關指令
Window
- Ctrl + b + c:建立一個新的 window
- Ctrl + b + ,:重新命名 window
- Ctrl + b + w:視覺化的方式切換 window
- Ctrl + b + p:切換到上一個 window
- Ctrl + b + n:切換到下一個 window
- Ctrl + b + 數字:切換到指定的 window
- Ctrl + b + &:關閉目前的 window
- Ctrl + b + f:查找 window
Pane
- Ctrl + b + ”:垂直分割 pane
- Ctrl + b + %:水平分割 pane
- Ctrl + b + q:顯示 pane 編號
- Ctrl + b + x:關閉目前的 pane
- Ctrl + b + o:切換到下一個 pane
- Ctrl + b + 方向鍵:切換到指定的 pane
Conclusion
我自己是認為,上手一個工具,就跟打遊戲一樣,你要先知道觀念跟規則,接著習慣它就好了,以上就是我在使用 tmux 時,一些常用的指令,喜歡客製化,較進階的使用方式,可以去安裝相關套件配合使用,像是 neovim、macvim、oh-my-tmux…等,這邊就依據自己的需求去搭配使用。