使用 tmux 建立你的夢想主控臺

Kevin Sonney發表於2020-02-16

使用 tmux 可以做很多事情,尤其是在將 tmuxinator 新增到其中時。在我們的二十篇系列文章的第十五期中檢視它們,以在 2020 年實現開源生產力的提高。

去年,我在 19 天裡給你介紹了 19 個新(對你而言)的生產力工具。今年,我換了一種方式:使用你在使用或者還沒使用的工具,構建一個使你可以在新一年更加高效的環境。

使用 tmux 和 tmuxinator 全部放到主控臺上

到目前為止,在本系列文章中,我已經撰寫了有關單個應用程式和工具的文章。從今天開始,我將把它們放在一起進行全面設定以簡化操作。讓我們從命令列開始。為什麼使用命令列?簡而言之,在命令列上工作可以使我能夠從執行 SSH 的任何位置訪問許多這些工具和功能。我可以 SSH 進入我的一臺個人計算機,並在工作計算機上執行與我的個人計算機上所使用的相同設定。我要使用的主要工具是 tmux

大多數人都只使用了 tmux 非常基礎的功能,比如說在遠端伺服器上開啟 tmux,然後啟動程式,也許還會開啟第二個會話以檢視日誌檔案或除錯資訊,然後斷開連線並在稍後返回。但是其實你可以使用 tmux 做很多工作。

tmux

首先,如果你有一個已有的 tmux 配置檔案,請對其進行備份。tmux 的配置檔案是 ~/.tmux.conf。將其移動到另一個目錄,例如 ~/tmp。現在,用 Git 克隆 Oh My Tmux 專案。從該克隆目錄中將 .tmux.conf 符號連結到你的家目錄,並複製該克隆目錄中的 .tmux.conf.local 檔案到家目錄中以進行調整:

cd ~
mkdir ~/tmp
mv ~/.tmux.conf ~/tmp/
git clone https://github.com/gpakosz/.tmux.git
ln -s ~/.tmux/.tmux.conf ./
cp ~/.tmux/.tmux.conf.local ./

.tmux.conf.local 檔案包含了本地設定和覆蓋的設定。例如,我稍微更改了預設顏色,然後啟用了 Powerline 分隔線。下面的程式碼段僅顯示了我更改過的內容:

tmux_conf_theme_24b_colour=true
tmux_conf_theme_focused_pane_bg='default'
tmux_conf_theme_pane_border_style=fat
tmux_conf_theme_left_separator_main='\uE0B0'
tmux_conf_theme_left_separator_sub='\uE0B1'
tmux_conf_theme_right_separator_main='\uE0B2'
tmux_conf_theme_right_separator_sub='\uE0B3'
#tmux_conf_battery_bar_symbol_full='◼'
#tmux_conf_battery_bar_symbol_empty='◻'
tmux_conf_battery_bar_symbol_full='♥'
tmux_conf_battery_bar_symbol_empty='·'
tmux_conf_copy_to_os_clipboard=true
set -g mouse on

請注意,你不需要安裝 Powerline,你只需要支援 Powerline 符號的字型即可。我在與控制檯相關的所有內容中幾乎都使用 Hack Nerd Font,因為它易於閱讀並且具有許多有用的額外符號。你還會注意到,我開啟了作業系統剪貼簿支援和滑鼠支援。

現在,當 tmux 啟動時,底部的狀態列會以吸引人的顏色提供更多資訊。Ctrl + b 仍然是輸入命令的 “引導” 鍵,但其他一些進行了更改。現在水平拆分(頂部/底部)窗格為 Ctrl + b + -,垂直拆分為 Ctrl + b + _。啟用滑鼠模式後,你可以單擊以在窗格之間切換,並拖動分隔線以調整其大小。開啟新視窗仍然是 Ctrl + b + n,你現在可以單擊底部欄上的視窗名稱在它們之間進行切換。同樣,Ctrl + b + e 將開啟 .tmux.conf.local 檔案以進行編輯。退出編輯器時,tmux 將重新載入配置,而不會重新載入其他任何內容。這很有用。

到目前為止,我僅對功能和視覺顯示進行了一些簡單的更改,並增加了滑鼠支援。現在,我將它設定為以一種有意義的方式啟動我想要的應用程式,而不必每次都重新定位和調整它們的大小。為此,我將使用 tmuxinator。tmuxinator 是 tmux 的啟動器,它允許你指定和管理佈局以及使用 YAML 檔案自動啟動應用程式。要使用它,請啟動 tmux 並建立要在其中執行程式的窗格。然後,使用 Ctrl + b + n 開啟一個新視窗,並執行 tmux list-windows。你將獲得有關佈局的詳細資訊。

tmux layout information

請注意上面程式碼中的第一行,我在其中設定了四個窗格,每個窗格中都有一個應用程式。儲存執行時的輸出以供以後使用。現在,執行 tmuxinator new 20days 以建立名為 “20days” 的佈局。這將顯示一個帶有預設佈局檔案的文字編輯器。它包含很多有用的內容,我建議你閱讀所有選項。首先輸入上方的佈局資訊以及所需的應用程式:

# /Users/ksonney/.config/tmuxinator/20days.yml
name: 20days
root: ~/
windows:
   - mail:
      layout: d9da,208x60,0,0[208x26,0,0{104x26,0,0,0,103x26,105,0,5},208x33,0,27{104x33,0,27,1,103x33,105,27,4}]] @0
      panes:
        - alot
        - abook
        - ikhal
        - todo.sh ls +20days

注意空格縮排!與 Python 程式碼一樣,空格和縮排關係到檔案的解釋方式。儲存該檔案,然後執行 tmuxinator 20days。你應該會得到四個窗格,分別是 alot 郵件程式、abook、ikhal(互動式 khal 的快捷方式)以及 todo.txt 中帶有 “+20days” 標籤的任何內容。

sample layout launched by tmuxinator

你還會注意到,底部欄上的視窗標記為 “Mail”。你可以單擊該名稱(以及其他命名的視窗)以跳到該檢視。漂亮吧?我在同一個檔案中還設定了名為 “Social” 的第二個視窗,包括 TuirNewsboat、連線到 BitlBee 的 IRC 客戶端和 Rainbow Stream

tmux 是我跟蹤所有事情的生產力動力之源,有了 tmuxinator,我不必在不斷調整大小、放置和啟動我的應用程式上費心。


via: https://opensource.com/article/20/1/tmux-console

作者:Kevin Sonney 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

使用 tmux 建立你的夢想主控臺

相關文章