使用 tmux 創建你的夢想主控台
去年,我在 19 天里給你介紹了 19 個新(對你而言)的生產力工具。今年,我換了一種方式:使用你在使用或者還沒使用的工具,構建一個使你可以在新一年更加高效的環境。
使用 tmux 和 tmuxinator 全部放到主控台上
到目前為止,在本系列文章中,我已經撰寫了有關單個應用程序和工具的文章。從今天開始,我將把它們放在一起進行全面設置以簡化操作。讓我們從命令行開始。為什麼使用命令行?簡而言之,在命令行上工作可以使我能夠從運行 SSH 的任何位置訪問許多這些工具和功能。我可以 SSH 進入我的一台個人計算機,並在工作計算機上運行與我的個人計算機上所使用的相同設置。我要使用的主要工具是 tmux。
大多數人都只使用了 tmux 非常基礎的功能,比如說在遠程伺服器上打開 tmux,然後啟動進程,也許還會打開第二個會話以查看日誌文件或調試信息,然後斷開連接並在稍後返回。但是其實你可以使用 tmux 做很多工作。
![tmux](/data/attachment/album/202002/16/220903olz5v252h7l2w552.png "tumux")
首先,如果你有一個已有的 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](/data/attachment/album/202002/16/220903klwzjm1q041qy6vj.png "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](/data/attachment/album/202002/16/220917xv1hp84hgvvktg58.png "sample layout launched by tmuxinator")
你還會注意到,底部欄上的窗口標記為 「Mail」。你可以單擊該名稱(以及其他命名的窗口)以跳到該視圖。漂亮吧?我在同一個文件中還設置了名為 「Social」 的第二個窗口,包括 Tuir、Newsboat、連接到 BitlBee 的 IRC 客戶端和 Rainbow Stream。
tmux 是我跟蹤所有事情的生產力動力之源,有了 tmuxinator,我不必在不斷調整大小、放置和啟動我的應用程序上費心。
via: https://opensource.com/article/20/1/tmux-console
作者:Kevin Sonney 選題:lujun9972 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive