首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在远程会话中使用tmux选择鼠标后复制到客户端剪贴板

在远程会话中使用tmux选择鼠标后复制到客户端剪贴板
EN

Stack Overflow用户
提问于 2020-03-13 08:13:54
回答 1查看 1.4K关注 0票数 0

这是我的.tmux.conf

代码语言:javascript
运行
复制
setw -g mouse on
set-option -s set-clipboard off
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"

在本地的linux机器上运行良好。鼠标选择会自动复制到系统剪贴板。

然而,在远程会话(iTerm + Mac)中,它不能工作。文本不会复制到客户端的系统剪贴板。显然我必须使用OSC 52。这是一个helper script

您可以像这样使用脚本:

echo "whatever text" | osc52.sh

现在,“任意文本”被复制到客户端的系统剪贴板。

然而,我无法让脚本与tmux鼠标选择一起工作:

代码语言:javascript
运行
复制
setw -g mouse on
set-option -s set-clipboard off
osc52="~/osc52.sh"
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "$osc52"

任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-03-13 16:28:25

这不是使用OSC 52的方法。您不能从脚本发送它-从copy-pipe运行的命令的所有输出都将被忽略。

相反,您需要配置tmux本身来完成此操作。尝试以下操作:

1)删除bind-key命令,只保留MouseDragEnd1Pane作为默认值: copy-selection。

2)将set-clipboard off改为set-clipboard on。记得在更改.tmux.conf后完全重启tmux。

3)确保tmux外部的术语是xterm或xterm-256color,以便tmux添加来自默认终端覆盖的Ms能力。这应该是iTerm2中的默认设置。确保您没有将其从.tmux.conf的终端覆盖中删除。

4)在iTerm2中,我认为你需要打开这个选项,“终端中的应用程序可以访问剪贴板”:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60663323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档