插件
安装和配置 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 的所有核心功能无需任何服务器端安装即可正常工作。插件是可选的增强功能,提供便利特性。