我在tmux中最不可少的配置: 用鼠標切換窗口/調節分屏大小


前兩天在給另外一個團隊幫忙時,看他們在Rails日志、代碼文件、git文件系統里面來回穿梭,覺得他們太累了,於是就介紹了 tmux 給他們用。但只講了一點基本的開窗口、分屏,沒給講太多技巧,因為一下子講太多也消化不了,還不如讓他們自己慢慢學(記得 man tmuxC-b ? 就差不多了)。

不過過了一會兒,小陸問我: 咦,你怎么可以用鼠標將窗口拖大拖小? 我說,”就幾個配置而已“,正說要讓他到我博客上看詳細說明,突然想起:咦,我好像沒寫過這個? 以前在 ~/.tmux.conf 曾經加過不少配置,后來長期留下來的還沒幾行,其中就有這個。這么重要的東西我居然忘記記在博客上了——說明已經完全記錄在腦袋里面了?

其實就這么幾行配置:

setw -g mouse-resize-pane on
setw -g mouse-select-pane on
setw -g mouse-select-window on
setw -g mode-mouse on

這幾行的作用分別是:

  • 開啟用鼠標拖動調節pane的大小(拖動位置是pane之間的分隔線)
  • 開啟用鼠標點擊pane來激活該pane
  • 開啟用鼠標點擊來切換活動window(點擊位置是狀態欄的窗口名稱)
  • 開啟window/pane里面的鼠標支持(也即可以用鼠標滾輪回滾顯示窗口內容,此時還可以用鼠標選取文本)

這幾行配置加到 ~/.tmux.conf 中,然后在tmux里面按 C-b : 執行 source ~/.tmux.conf 即可生效 (也可以直接將這幾行放在 C-b : 的輸入行去執行,每次執行一行,不過 tmux重啟后還得再來一遍)。


什么是window?

就是用 C-b c 創建出來的窗口,每個window跟tmux所在的終端一樣大,window里面可以容納多個pane。

所有窗口的名稱顯示在底部狀態欄上,如下圖所示。 有了上面的配置,只要點擊窗口名就可以切換到指定窗口了 (快捷鍵是 C-b n, C-b p, C-b 1 .. C-b 9


(圖盜自這里: Increased Developer Productivity with Tmux, Part 2: ~/.tmux.conf)

什么是pane?

就是窗口里面的分屏,可以用 C-b o 來切換到下一個pane,或者用 C-b Up 切換到當前pane上方的pane, 用C-b Down切換到當前pane下方的pane.

還有一種切換方法是 C-b q,tmux會顯示每個pane的序號,按這個序號就可以跳過去了(按慢了可不行,得在數字消失前按)。


(本圖片盜自: http://www.slideshare.net/lgfang/tmux/14 )

開啟了 mouse-select-pane 選項之后, 就可以用鼠標點擊面板切換了

用鼠標改變pane的大小

其實前面切換window或者pane,用鼠標並沒有太大優勢,也就只能略微減輕一點記憶負擔。 但用鼠標拖動改變pane的大小這條是比快捷鍵有優勢的,因為用快捷鍵很難一次調節到位 ,比如是增加6行還是9行? 縮小20列還是40列?而且 還可以斜向拖住交叉點來同時改變多個窗口的大小

附送一條貼士: 最大化/還原pane

  • 如果你用的是tmux >= 1.8,那么可以用 C-b z 來最大化一個pane,想恢復的時候再次按 C-b z 就是了
  • 如果你用的是tmux < 1.8,那么有點復雜,自己看這里: “Maximizing” a pane in tmux

參考

推薦下面兩個slides,講得都很通俗易懂。不過slideshare被薔了,各位自己想辦法吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM