修复 macOS 下 Zellij + deepseek-tui 复制到系统剪贴板失败

最近在使用 Zellij + deepseek-tui 时,发现一个问题:

  • 在 Zellij 中选中文本,屏幕底部会显示 Text copied to system clipboard
  • 但实际在 macOS 系统里按 ⌘ + V 粘贴,却粘贴不出来

这个问题让很多 macOS 用户困扰。本文总结问题原因及解决方法。


一、问题原因

Zellij 默认使用 OSC52 协议复制内容:

Zellij 复制文本 → 发送 OSC52 控制序列 → 终端负责写入系统剪贴板

在某些终端(包括 macOS 默认 Terminal、部分 iTerm2 配置)里:

  • OSC52 不被完全支持
  • 或终端不允许 TUI 访问系统剪贴板

就会出现“显示复制成功,但无法粘贴”的情况。


二、官方修复方式

Zellij 官方提供了一个配置项,可以直接调用外部命令写入剪贴板

  • 在 macOS 上用系统自带的 pbcopy
  • 不依赖 OSC52

关键配置项:

copy_command "pbcopy"       # 调用 macOS 系统剪贴板命令
copy_clipboard "system"     # 目标是系统剪贴板
copy_on_select true         # 选中就自动复制,无需按 Enter

三、修改方法步骤

1. 导出默认配置

mkdir -p ~/.config/zellij
zellij setup --dump-config > ~/.config/zellij/config.kdl

2. 编辑配置文件

vim ~/.config/zellij/config.kdl

keybinds {} 外面、文件最顶层 加入:

copy_command "pbcopy"
copy_clipboard "system"
copy_on_select true

注意:不能放在 keybinds {} 里面,否则不生效。

保存并退出。


3. 重启 Zellij

为了让新配置生效,需要重新启动 Zellij:

zellij kill-session agent
zellij attach agent

或退出当前 session,再重新进入。


四、测试复制效果

  1. 在 pane 中选中文本
  2. 系统剪贴板会自动更新(因为 copy_on_select true
  3. 去任何输入框按 ⌘ + V 粘贴,文本即可出现

如果你喜欢按 Enter 确认复制,可以将 copy_on_select 改为 false


五、总结

通过配置 copy_command "pbcopy",可以:

  • 避免 OSC52 协议不兼容问题
  • 直接写入 macOS 系统剪贴板
  • 配合 copy_on_select true,实现选中即复制体验

这样 Zellij + deepseek-tui 在 macOS 上的复制问题就完全解决了。


💡 小提示:

  • 如果你使用的是 Linux,pbcopy 换成 xclip -selection clipboard
  • Windows 下可用 clip.exe
  • 这种方式可以绕过终端对 OSC52 的兼容性问题,更稳妥
posted @ 2026-06-02 19:10  elxin  阅读(53)  评论(0)    收藏  举报