﻿---
title: 修复 Ghostty 下 tmux 的可点击超链接问题
date: 2026-01-11
excerpt: 解决在 Ghostty 终端中使用 tmux 时可点击超链接无法正常工作的问题。
tags:
  - Tmux
  - Terminal
  - Ghostty
updated: 2026-05-23 15:36:36
lang: zh-CN
i18n:
  en: /en/fixing-clickable-hyperlinks-tmux-ghostty
  translation: 2
---

在 Ghostty 终端中使用 tmux 时，可能会遇到可点击超链接无法正常工作的问题。我自己就遇到了。一开始在 GitHub Issues 里搜了一圈，试了各种建议的方案，都没用。于是我换了 [Kitty](https://sw.kovidgoyal.net/kitty/) ✋😭✋

最近又回头研究了一下，找到了可行的解决方案。

## 解决方案

### TL;DR

- 方案一：在 Ghostty 配置中禁用 `mouse-shift-capture`。
- 方案二：在 tmux 配置中禁用鼠标支持，即在 `~/.tmux.conf` 中设置 `set -g mouse off`。

| Ghostty\Tmux         | Integration: 关闭 | Integration: 开启 |
| :------------------- | :----------------- | :----------------- |
| Shift Capture: False | ⌘ + Click         | ⇧ + ⌘ + Click     |
| Shift Capture: True  | ⌘ + Click         | 无法工作           |

### 方案一

Ghostty 有一个叫 `mouse-shift-capture` 的功能 [^1]，默认是关闭的。不知何时我在配置文件（`~/.config/ghostty/config`）中开启了这个功能，这就是为什么 `⇧ + ⌘ + Click` 在我的笔记本上不生效的原因。

在 Ghostty 配置中注释掉或删除 `mouse-shift-capture = true`，就可以重新用 `⇧ + ⌘ + Click` 在 tmux 中打开链接了。

#### 原理解释

这个选项决定了谁来处理点击事件：**终端（Ghostty）**还是**程序（Tmux）**。

- 设为 true（失效）：
  - Ghostty 将 `⇧ + ⌘ + Click` 直接发送给 Tmux。
  - 结果：Tmux 收到了信号，但不知道怎么打开浏览器。
- 设为 false（正常）：
  - Ghostty 检测到 Shift 键，决定自己处理该事件，忽略 Tmux。
  - 结果：Ghostty 识别 `⌘ + Click` 并帮你打开链接。

### 方案二

另一种方式是在 tmux 中禁用鼠标支持，即在 `~/.tmux.conf` 中注释掉或删除 `set -g mouse on`。

这样修改后，可以用 `⌘ + Click`（无需 Shift）打开链接。但代价是你会失去 tmux 中的以下鼠标功能：

- 在面板历史记录中鼠标滚动
- 鼠标文本选择和复制
- 鼠标标签/面板选择（点击聚焦标签/面板）
- 鼠标面板调整大小（拖拽面板边框）

#### 原理解释

我没有去翻 tmux 文档确认，但我的理解是：

- 设为 `on`（拦截）：
  - Tmux 告诉 Ghostty 由它来处理鼠标事件。
  - 结果：Ghostty 将普通点击转发给 Tmux。`⌘ + Click` 由 Tmux 处理，但 Tmux 不知道怎么打开浏览器，所以不生效。
- 设为 `off`（正常）：
  - Tmux 忽略鼠标，由 Ghostty 完全接管所有鼠标事件，不需要 `⇧` 绕过键。因此 `⌘ + Click` 正常工作。

## 结语

我用 tmux 主要为了节省时间，比如：

- 用 `tmux-floating-pane` 快速执行操作而不用离开当前上下文，详情见 [[tmux_floating_pane]]。
- 用 tmux 的复制模式快速复制文本而不用切换到鼠标。

讽刺的是，我花在调试工具上的时间，可能比省下来的还多。tmux 值得这个成本吗？也许就像 Kitty 的开发者说的，"终端复用器是个坏主意" 😭

也许有一天我会放弃 tmux，但目前我真的需要浮动面板功能。[^2]

[^1]: 决定运行中的程序是否能检测到鼠标点击时同时按下了 Shift 键。通常 Shift 键用于扩展鼠标选择范围。[Option Reference - Configuration](https://ghostty.org/docs/config/reference#mouse-shift-capture)
[^2]: 也许 Ghostty 未来会实现浮动面板功能 [Float pane / popup support · ghostty-org/ghostty · Discussion #3197](https://github.com/ghostty-org/ghostty/discussions/3197)