Ubuntu 18 Tmux 2.6-3 复制粘贴功能与 xclip 不起作用

Ubuntu 18 Tmux 2.6-3 复制粘贴功能与 xclip 不起作用

我最近重新安装了 Ubuntu 18,并从之前的 Ubuntu 16 设置中复制了我的主目录。然而,这似乎破坏了我之前使用 xclip(安装了 0.12)的复制粘贴功能。

我之前的 tmux.conf 方法:

setw -g mode-keys vi
bind -t vi-copy y copy-pipe "xclip -sel clip -i"

我在这里查看了其他类似的问题,但不幸的是它们都不符合我的具体情况。

答案1

从 tmux 2.6 开始,bind-key不再采用模式表选项 ( -t)。相反,-T每种模式都有一个密钥表 ( )。

此外,命令不能直接在复制模式绑定中使用。它们必须与 一起发送send-keys -X

对 tmux 问题 754 的评论:

  1. -t用。。。来代替-T
  2. vi-<name>用。。。来代替<name>-mode-vi
  3. 命令前缀为send-keys -X

此外,从版本 2.4 开始,新命令copy-pipe-and-cancel将离开复制模式,同时copy-pipe保持其活动状态。

所以你的那一行tmux.conf就变成了:

bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -sel clip -i"

打印到屏幕上的垃圾

根据您的终端模拟器,在使用此绑定后,您可能还会看到一些字符转储到屏幕上。这取决于set-clipboard特征:

尝试使用 xterm(1) 转义序列设置终端剪贴板内容(如果有)多发性硬化症terminfo(5) 描述中的条目(请参阅 TERMINFO 扩展部分)。

似乎某些终端(例如 LXTerminal)会将 TERM 设置为xterm(支持此扩展),但实际上并不识别该序列。 copy-pipe并将copy-pipe-and-cancel“有帮助地”尝试使用此功能,并且终端仅显示结果字符。您看到的是转义序列,后跟所选文本的 Base64 编码。

如果您的终端错误地处理了此转义序列,您可以使用以下命令禁用它

set-option -g set-clipboard off

相关内容