在大多数终端仿真器中,Middle Mouse Button将从 X Windows 主要选择进行粘贴。在启用了鼠标模式的 tmux 中 ( set -g mouse on)Middle Mouse Button不再从主要选择中粘贴,因为鼠标单击是由 tmux 而不是终端模拟器捕获的。要粘贴,您必须将点击传递到终端模拟器。Shift + Middle Mouse Button
即使启用了鼠标模式,如何在Middle Mouse Button无需按住 的情况下进行粘贴?Shift
将其添加到您的~/.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"
Run Code Online (Sandbox Code Playgroud)
需要xsel安装。(sudo apt install xsel在 Ubuntu 上。)
添加Middle Mouse Button( MouseDown2Pane) 绑定:
用于tmux set-buffer将命令的输出xsel -o(即主要选择的内容)加载到名为的临时 tmux 粘贴缓冲区中primary_selection
用于tmux paste-buffer将primary_selection缓冲区粘贴到当前窗格中
用于tmux delete-buffer删除primary_selection缓冲区。这是为了避免弄乱你的缓冲区。tmux 的粘贴命令(默认情况下)从最近创建的粘贴缓冲区进行粘贴。我们不希望缓冲区成为您最近创建的缓冲区并替换以前的绑定缓冲区。我们也不希望缓冲区出现在缓冲区列表中。所以我们删除它Ctrl + b ]primary_selectionCtrl + b ]primary_selection