Happy Hacking tmux

September 29, 2022

  • tool
有任何問題,我能幫上忙的話都能到 github 發 issue 問我。

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…等,這邊就依據自己的需求去搭配使用。


Mayvis Chen
你好,我是 Mayvis Chen
住在台北,會點前端,會點後端,熱愛分享新知及愛喝奶茶的全端打雜工程師。