Ssh 在远程会话中使用tmux选择鼠标后复制到客户端剪贴板
这是我的.tmux.confSsh 在远程会话中使用tmux选择鼠标后复制到客户端剪贴板,ssh,copy-paste,tmux,iterm,Ssh,Copy Paste,Tmux,Iterm,这是我的.tmux.conf 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)中,它不起作用。文本不会复制到客户端的系统剪贴板。显然我
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。这是一本书
您可以这样使用脚本:
echo“任意文本”| osc52.sh
现在,“任意文本”被复制到客户端的系统剪贴板
但是,我无法让脚本使用tmux鼠标选择:
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"
感谢您的帮助。谢谢 这不是使用OSC 52的方法。您不能从脚本发送它-忽略从复制管道运行的命令的所有输出 相反,您需要配置tmux本身来实现这一点。请尝试以下操作: 1) 删除bind key命令,将MouseDragEnd1Pane保留为默认值,即复制选择 2) 将“关闭设置剪贴板”更改为“打开剪贴板”。记住在更改.tmux.conf之后完全重新启动tmux 3) 确保tmux外部的术语是xterm或xterm-256color,以便tmux从默认终端覆盖中添加Ms功能。这应该是iTerm2中的默认值。确保没有将其从.tmux.conf中的终端覆盖中删除 4) 在iTerm2中,我认为您需要启用此选项,“终端中的应用程序可以访问剪贴板”:
不起作用。这是我的.tmux.conf:setw-g mouse on set option-s set clipboard在更改.tmux.conf后是否重新启动了整个tmux?
echo$TERM
在tmux之外说了什么?tmux显示-s终端覆盖在tmux内部说什么?xterm-256color and terminal overrides[0]“xterm*:XT:Ms=\\E]52;%p1%s;%p2%s\\007:Cs=\\E]12;%p1%s\\007:Cr=\\E]112\\007:Ss=\\E[%p1%d q:Se=\\E[2 q”终端覆盖[1]“屏幕*:XT这应该可以工作,也许您需要更改iTerm2中的其他内容。