由於時常需要同時開啟數個 Terminal 來作系統設定,因此一直在找一個方便安排視窗位置的軟體或方法。

雖說 GNU Screen 的 regions 機制,可以讓你在同一個 Screen window 中切割出不同的橫向視窗。但是你得熟記指令或熱鍵才好於不同的視窗間切換,無法使用滑鼠切換視窗焦點,當然也無法方便的利用滾動軸查看稍早的指令輸出。且 GNU Screen 目前還不支援垂直分割,必須套上額外的補釘

另外一個方式是使用 Tiling Tabbed Window Manager,若你習慣純粹使用 CLI 來工作,使用應該沒有甚麼大問題,它會協助你將終端機規矩的置於數個獨立視窗中,你可利用 Window Manager 設定的快速鍵來切換視窗。常見的軟體有 Ion, Aweson, Ratpoison, Stumpwm, Wmii 等。

但若你已經習慣了現有的 Window Manager,或習慣讓大部份的軟體使用浮動視窗的介面。你可以試試 terminator。terminator 是使用 Python 與 VTE Terminal Widget 所寫成,於其他的終端機模擬軟體不同的是,terminator 方便讓你把視窗排列組成格狀,你可以任意對視窗作橫向或垂直分割。於是你可以方便的開啟一堆視窗,並將他們安插在你想要的位置。

由於 terminator 支援 Gnome Terminal 的 Profile (設定組合),我習慣設定一個 coding profile,定義方便閱讀程式碼的小字型 (方便瀏覽更多程式碼),並使用 terminator -f -p coding,開啟一個全螢幕的視窗來工作。這是我查看 terminator 原始碼的畫面。

新版的 terminator 0.9 在七月初發行,增加了幾個重要的功能包含了 Tabs, Drag & Drop, Terminal zooming/maximizing, support for ~/.config/terminator/config 等 (細節請參照 trunk 中的 ChangeLog)。

拖拉視窗功能則是非常重要的殺手級功能,從此,你可以方便的將任一視窗拉近另外一個分割視窗、或另外一個分頁中。我在使用 Gnome Terminal 時,也時常使用拖拉功能,將分頁拉出成為獨立的視窗,可方便對照程式碼、文件,或者將相關於特定專案、伺服器的視窗拉近同一個視窗中作為分頁。Terminator 在新版中也一併實做了 Tabs 分頁功能。

另外一個好用的新功能是全螢幕或放大螢幕,由於你通常會開數個終端機進行不同的事情,若是想專注在單一視窗時,就可以使用全螢幕 (Ctrl+Shift+X),再按一次就可以回到多視窗功能。而 Zooming (Ctrl+Shift+Z) 則是將當下的視窗解析度放大到全螢幕,於是你可以得到大字型的單一視窗。

新版的中也做了設定檔,可以讓你稍微自訂一些參數設定。但是這尚未包含所有的設定,如 profiles 就還不能在設定檔中設定。

目前 terminator 已經相當好用,若是可以再實做類 Screen/Vim 的視窗切換快速鍵,那就更方便不過了。

專案首頁位於 Launchpad.

  • 看來是個不錯的軟件呢!

    如果分割的視窗除了Terminal外,還能有類似Nautilus的檔案管理員就更好了。我試過用Gnome Commander,但不論是terminal及檔案管理員的功能都不討好,所以在我桌面裏還是經常開著數個Nautilus反Gnome Terminal……