为什么“tmux”复制操作总是向终端输出临时乱码?

为什么“tmux”复制操作总是向终端输出临时乱码?

如果我使用 完成复制操作tmux,我的屏幕上总是会出现一行或多行乱码,当我更改窗口或进行粘贴时,这些乱码就会消失。

为什么会发生这种情况,可以禁用吗?

答案1

默认情况下,(对于xterm-type 终端)多路复用器使用控制序列自动将外部剪贴板/选择设置为复制的内容。该序列的大部分内容将是复制数据的 Base-64 编码;这可能是您看到的胡言乱语。可能是您的终端仿真器——您已在其中附加了多路复用器会话—不支持​​(并且不会默默地忽略)此控制序列。

您可以禁用此功能多路复用器通过关闭set-clipboard服务器选项来实现功能:

set-option -s set-clipboard off

在手册页中搜索“set-clipboard”以获取详细信息。

如果不适合整体禁用此功能多路复用器服务器,那么您可以尝试使用terminal-overrides来修改或删除Ms某些 TERM 值的 terminfo 功能:

set-option -ga terminal-overrides ',yourTERMname:Ms@'

注意:如果更改.tmux.conf文件,请务必重新更改source或重新启动服务器。如果您terminal-overrides在现有服务器中进行更改,则可能必须先分离具有匹配术语的所有客户端,然后更改才会生效。

相关内容