tmuxomatic:管理 tmux 會話
隨著 tmux 的流行,其周邊工具也開始逐步多了起來。tmuxomatic 以一種稱為 windowgram 的方式來安排 tmux 視窗會話,一旦經過組織並儲存到檔案,便可多次重複使用。與手工操作比較起來,感覺著實要省事不少。
tmuxomatic 要求 Python 3 及 tmux 1.8 以上版本,可通過如下指令安裝:
pip install tmuxomatic
值得注意的是,此方法安裝的 tmuxomatic 2.18 存在一個 bug。如果設定了 tmux 的 pane-base-index 不為 0,tmuxomatic 將報找不到 pane 0 的錯誤。不過,tmuxomatic 的 git 版本已經對此進行了修正。
初次使用 tmuxomatic,我們執行 tmuxomatic -f demo_session 來繪製 windowgram。
在 tmuxomatic 的 flex 命令提示字元下輸入 new cli 建立一個名為 cli 的視窗。此時,螢幕上會顯示數字 1 作為標識。
為了便於後續操作,將 1 放大到 30 個字元寬和 10 個字元高:
scale 30x10
目前只有 1 個窗格,我們接著在右邊再添加一個窗格,其寬度與 1 一樣:
add right 100%
現在我們有了兩個窗格 0 和 1,如果需要更多窗格,那麼還可以使用 break 或 split 指令。這裡我們使用 split 來將 0 進行分拆:
split 0 bottom 5 2
這樣我們將窗格 0 變成 0 和 2,且高度一樣。
如果不再需要其他動作,可以執行 done。之後,tmuxomatic 將為我們建立此會話。執行 exit 則只儲存結果。
在 windowgram 繪製完畢後,我們還可以根據需要來為窗格添加別的操作,比如執行程式、轉到某個目錄、聚焦。
1 run vim0 dir ~/code/linuxtoy.org2 foc
窗格 1 執行 Vim,0 轉到 ~/code/linuxtoy.org 目錄,並聚焦窗格 2。
通過 cat demo_session 看看最終的樣子:
##------------------------------------------------------------------------------#### Session file created by tmuxomatic flex 2.19-dev####------------------------------------------------------------------------------## Window added by tmuxomatic flex 2.19-devwindow cli1111111111111111111111111111110000000000000000000000000000001111111111111111111111111111110000000000000000000000000000001111111111111111111111111111110000000000000000000000000000001111111111111111111111111111110000000000000000000000000000001111111111111111111111111111110000000000000000000000000000001111111111111111111111111111112222222222222222222222222222221111111111111111111111111111112222222222222222222222222222221111111111111111111111111111112222222222222222222222222222221111111111111111111111111111112222222222222222222222222222221111111111111111111111111111112222222222222222222222222222221 run vim0 dir ~/code/linuxtoy.org2 foc
要建立 tmux 會話,只需執行 tmuxomatic demo_session 即可。
→ tmuxomatic
下面關於Tmux的文章您也可能喜歡,不妨看看:
Tmux:終端複用器
tmux使用簡單教程
Tmux 入門指南
用 Tmux 和 Vim 打造 IDE
CentOS下Tmux安裝和使用
用 Tmux 和 Vim 打造 IDE
Tmux 的詳細介紹:請點這裡
Tmux 的:請點這裡
本文永久更新連結地址: