我最近重新安装了 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
。
-t
用。。。来代替-T
vi-<name>
用。。。来代替<name>-mode-vi
- 命令前缀为
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