当启用鼠标模式时,如何使鼠标中键从tmux中的主选项粘贴



在大多数终端模拟器中,鼠标中键将从X Windows主选项粘贴。在启用鼠标模式(set -g mouse on(的tmux中,鼠标中键不再从主选择粘贴,因为鼠标单击是由tmux捕获的,而不是由终端模拟器捕获的。要粘贴,您必须执行Shift+鼠标中键

即使启用了鼠标模式,我如何在不必按住Shift的情况下粘贴鼠标中键

在tmux 3.2中,进行了此更改。

从3.1c到3.2 的变化

  • 为要粘贴的按钮2添加默认绑定

将其添加到~/.tmux.conf文件中:

# Make middle-mouse-click paste from the primary selection (without having to hold down Shift).
bind-key -n MouseDown2Pane run "tmux set-buffer -b primary_selection "$(xsel -o)"; tmux paste-buffer -b primary_selection; tmux delete-buffer -b primary_selection"

需要安装xsel。(Ubuntu上的sudo apt install xsel。(

解释

添加鼠标中键(MouseDown2Pane(绑定,该绑定为:

  1. 使用tmux set-bufferxsel -o命令的输出(即主选择的内容(加载到名为primary_selection的临时tmux粘贴缓冲区中

  2. 使用tmux paste-bufferprimary_selection缓冲区粘贴到当前窗格中

  3. 使用tmux delete-buffer删除primary_selection缓冲区。这是为了避免干扰你的缓冲区。tmux的粘贴命令(默认情况下,Ctrl+b](从最近创建的粘贴缓冲区进行粘贴。我们不希望primary_selection缓冲区成为您最近创建的缓冲区,并替换Ctrl+b>>绑定的先前缓冲区。我们也不希望primary_selection缓冲区出现在您的缓冲区列表中。所以我们删除它

最新更新