外掛程式
安裝和設定 tmux 外掛程式與 Mac shell 外掛程式
外掛程式
MTerm 可以透過在遠端伺服器上安裝外掛程式來擴充功能。外掛程式可新增命令完成通知、剪貼簿同步和工作階段持久化等功能。目前提供兩個官方外掛程式。
mterm-tmux(tmux 外掛程式)
將 tmux 與 MTerm 整合,實現剪貼簿同步、上下文共享、通知和工作階段管理。
功能
| 功能 | 說明 |
|---|---|
| 剪貼簿同步 | 將 tmux 複製緩衝區與 MTerm 的剪貼簿歷史同步 |
| 上下文共享 | 將目前目錄、Git 分支和其他上下文傳送給 MTerm |
| 命令通知 | 長時間執行的命令完成時收到推播通知 |
| 工作階段管理 | 列出並切換 tmux 工作階段和視窗 |
安裝(TPM)
如果你使用 tmux Plugin Manager(TPM),在 ~/.tmux.conf 中新增以下內容:
# ~/.tmux.conf
set -g @plugin 'mtermapp/mterm-tmux'
# 按 prefix + I 安裝
如果你還沒有 TPM,請先設定 TPM。
Shell Hook 設定
要啟用完整功能(特別是命令完成偵測),請在你的 shell 初始化檔案中新增 shell hook:
# ~/.zshrc 或 ~/.bashrc
[ -f ~/.tmux/plugins/mterm-tmux/scripts/init.sh ] \
&& source ~/.tmux/plugins/mterm-tmux/scripts/init.sh
這讓 MTerm 能夠偵測命令的開始和結束,為通知系統提供支援。
通知設定
外掛程式安裝後,在 MTerm 的設定中設定通知行為(設定 → 外掛程式):
| 設定 | 說明 |
|---|---|
| 通知模式 | 開啟(接收通知)/ 關閉(停用通知) |
| 閾值(秒) | 僅在命令執行超過此時間時通知(預設:5 秒,範圍:1–120) |
例如,將閾值設定為 10 秒意味著 ls 或 cd 等快速命令不會觸發通知,但建置、測試和長時間執行的指令碼會在完成時通知你。
GitHub
mterm-shell(Mac 外掛程式)
一個直接安裝在 Mac(或 Linux 伺服器)上的 shell 外掛程式,無需 tmux。提供命令通知、上下文共享和可選的工作階段持久化。
功能
| 功能 | 說明 |
|---|---|
| 工作階段持久化 | 使用 abduco 在 SSH 中斷後保持 shell 工作階段活躍 |
| 上下文共享 | 將目前目錄、Git 分支和其他上下文傳送給 MTerm |
| 命令通知 | 長時間執行的命令完成時收到推播通知 |
安裝
git clone https://github.com/mtermapp/mterm-shell \
~/.mterm/plugin
Shell Hook 設定
# ~/.zshrc 或 ~/.bashrc
[ -f ~/.mterm/plugin/init.sh ] \
&& source ~/.mterm/plugin/init.sh
工作階段持久化(可選)
安裝 abduco 可在 SSH 連線中斷時保持 shell 工作階段活躍。重新連線時,你可以重新附加到同一工作階段,從上次離開的地方繼續。
# 安裝 abduco(macOS)
brew install abduco
# 建立持久化工作階段
mterm-session "my-project"
mterm-session 是 abduco 的包裝,用於建立具名的持久化 shell。如果 SSH 連線中斷,shell 會繼續執行。下次連線時,重新附加到同一工作階段即可。
通知設定
與 mterm-tmux 相同 — 在設定 → 外掛程式中設定通知模式和閾值。
GitHub
應該使用哪個外掛程式?
| 情境 | 建議 |
|---|---|
| 你經常使用 tmux | mterm-tmux |
| 你不使用 tmux / 直接連線到 Mac | mterm-shell |
| 你兩者都需要(tmux + 直接連線) | 兩個都安裝 — 它們不會衝突 |
兩個外掛程式都不是必需的。MTerm 的所有核心功能無需任何伺服器端安裝即可正常運作。外掛程式是可選的增強功能,提供便利特性。