You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS环境下tmux 3.3a终端会话滚动后无法复制文本至剪贴板

解决tmux 3.3a滚动后无法复制文本到剪贴板的问题

问题核心

滚动触发tmux复制模式后,选中的黄色高亮文本属于tmux内部选中状态,终端的fn+cmd+c无法识别这类文本——因为tmux接管了鼠标和键盘事件,终端捕获不到原生选中。同时你的配置里存在绑定冲突,导致鼠标拖动复制的同步逻辑失效。

配置修复步骤

1. 删除冲突绑定

你的配置里先给MouseDragEnd1Pane绑定了复制同步逻辑,随后又解绑了它,直接导致拖动选中后无法同步到剪贴板。删掉最后一行的:

unbind -T copy-mode-vi MouseDragEnd1Pane

2. 确保选中后同步剪贴板

保留并确认MouseDragEnd1Pane的绑定,让鼠标拖动选中后自动把内容同步到系统剪贴板:

bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"

3. 可选:兼容终端原生复制快捷键

如果更习惯用终端的fn+cmd+c复制,可以添加以下配置,让tmux复制模式下允许终端捕获文本选中:

set -g allow-passthrough on

设置后你可以按住Cmd拖动选中tmux内的文本,再用fn+cmd+c完成复制。

修复后的完整tmux.conf示例

set -g mouse on
set -g allow-passthrough on  # 可选,兼容终端原生选中复制

bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -T copy-mode-vi    C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-vi    C-WheelDownPane send-keys -X halfpage-down
bind -T copy-mode-emacs C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-emacs C-WheelDownPane send-keys -X halfpage-down

# 使用vi风格复制模式快捷键
setw -g mode-keys vi

# Enter键绑定复制到剪贴板
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"

# 鼠标拖动选中后自动同步剪贴板
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"

set -g visual-bell on

生效方式

保存修改后的~/.tmux.conf,在tmux会话中按Ctrl+b :,输入source-file ~/.tmux.conf回车,或直接重启tmux会话即可。

内容的提问来源于stack exchange,提问作者Chris Stewart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 11:55:38