从 tmux 复制时替换剪贴板内容而不是附加

从 tmux 复制时替换剪贴板内容而不是附加

当我从 tmux 复制时,选择内容将附加到系统剪贴板,而不是替换其现有内容。我在鼠标拖动和释放以及使用键盘复制选择时都看到了这种行为。我想更改行为,以便从 tmux 复制的效果与在其他地方复制的效果相同,即它用从 tmux 复制的内容替换系统剪贴板中的内容。

这是 5.4.13-arch1-1 GNU/Linux 上的 tmux3.0a。我使用.tmux.conf仅包含set -g mouse onkitty 和 gnome-terminal 的clean 进行了测试。

答案1

什么终端? IIRC 有一个默认附加的终端,但我忘记了是哪一个(也许是 Kitty?这听起来像是一种愚蠢的事情)。

答案2

Nicholas 的评论让我想到,也许 tmux 没有将文本放入系统剪贴板,但终端却如此。我将以下行添加到我的配置中,以确保 tmux 将这些行放入系统剪贴板中,并且鼠标和键盘复制行为现在在所有测试的终端中按预期工作。

set -g set-clipboard off
bind-key -T copy-mode-vi MouseDragEnd1Pane send -X copy-pipe-and-cancel "xsel -b"
bind-key -n -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xsel -b"

答案3

聚会迟到了,但可能会帮助别人。

由于您在评论中说过您已经测试了 Kitty 终端,因此我只能假设您也使用它。我可以在那里重现这个,但不能在 gnome 终端中重现。

对于小猫,我建议添加no-appendclipboard_control(请参阅 github 问题)。由于某种原因,它缺乏文档,但它是在变更日志CTRL+F表示“不追加”)。我可以确认它对我有用。

CTRL+ SHIFT+F2打开配置。如果尚不存在,~/.config/kitty/kitty.conf当您执行此操作时,它将创建一个默认配置。

相关内容