iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
Software Development

純‧CLI 整合開發環境系列 第 6

Day 06:螢幕切八段!多開神器 tmux

  • 分享至 

  • xImage
  •  

更新
我把從第一天到現在每天的 Home 目錄都放上 GitHub 了,README.md 裡面有說明
這是今天的 Release https://github.com/simba-fs/2021-ironman-example/releases/tag/day06


今天起要介紹的是 tmux,這是一個終端機的 session 管理器,什麼是 session 呢?你可以把 session 理解為一個終端機(畫面)和主機 (你的電腦)的連線,tmux 做的事就是把一個終端機切分成多個終端機,白話說就是多開神器啦!這樣你就可以左邊編輯程式、右邊看執行結果(如圖)。而且一切操作都在一個終端機視窗裡面,這意味著即使你在沒有圖形界面的純文字模式(像是 single user mode、ssh 連線)也可以享受如同圖形界面的便利!

tmux demo
tmux demo

安裝

debian/ubuntu

$ apt install tmux

macOS

$ brew install tmux

其他 or 自己編譯

其他可以參考 https://github.com/tmux/tmux/wiki/Installing 的說明

config

tmux 啟動時會去讀取 ~/.tmux.conf 這個檔案,所以的設定檔都放在這,在這裡,我推薦一個我用很多年的設定檔,點擊這裡下載,或是執行以下命令

curl https://gist.githubusercontent.com/simba-fs/e06a1763c1967ce3f4b5ef643db5e0b3/raw/2f28c62d01f419a390bfc0e66a974985bacdefa5/.tmux.conf > ~/.tmux.conf

這個檔案是我從網路上找到的,後來有加一些自己的東西,把檔案下載下來並存到 ~/.tmux.conf 裡面,關於每一行的用途都有用註解標示,主要幾個改變有以下幾點:

  • 把前置按鍵(prefix)從 Ctrlb 改成 Ctrla (第 16 ~ 19 行,不喜歡的話可以拿掉),你也可以改成其他按鍵
  • 底部 status bar 變成彩色,不再是單調的綠色
  • 一些快捷鍵綁定

啟動

暫時我們不加入開啟終端機自動啟動 tmux,手動啟動方式是在終端機執行命令

tmux

這時候你會看到終端機最上面跳出一個錯誤訊息

~/.tmux/plugins/tpm/tpm' returned 127

這是因為我們還沒裝 tmux 的外掛管理器 tmp (是 tmux plugins mamager,不是最近 win 11 的 tpm 2.0)
tpm 安裝很簡單,只要一行指令就可以了

$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

要安裝外掛只要在 run '~/.tmux/plugins/tpm/tpm' 之後加上 set -g @plugin <repo> 就行了,在我給的 config 檔中註解有說明 repo 格式
這時候啟動 tmux 就不會有錯誤了

預告

今天安裝好了 tmux 和外掛管理 tpm,明天會介紹如何在開啟終端機時自動開啟 tmux,你以為是直接在 ~/.zshrc 中執行 tmux 嗎?嘿嘿嘿,你可以試試就知道為什麼沒這麼簡單了,明天的文章會好好介紹如何完美整合 zsh 和 tmux


這篇文不小心斷更了,嗚嗚嗚,這裡是我新的新開的文章系列 https://ithelp.ithome.com.tw/users/20130473/ironman/4804


上一篇
Day 05:是說,這個選項可以接什麼東西?autocomplete 與 auto-pair
下一篇
Day 07:我今天想不到標題之整合 tmux 和 zsh
系列文
純‧CLI 整合開發環境13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
sharbui
iT邦新手 3 級 ‧ 2021-09-08 12:31:55

想請教那個GIF圖怎麼錄製產生. XD

SimbaFs iT邦新手 5 級 ‧ 2021-09-08 17:50:20 檢舉

我是用 peek 錄製的
下面按鍵顯示是 screenkey
我的系統是 Ubuntu 20.04

我要留言

立即登入留言