在大多数终端模拟器中,鼠标中键将从X Windows主选项粘贴。在启用鼠标模式( 即使启用了鼠标模式,我如何在不必按住Shift的情况下粘贴鼠标中键set -g mouse on
(的tmux中,鼠标中键不再从主选择粘贴,因为鼠标单击是由tmux捕获的,而不是由终端模拟器捕获的。要粘贴,您必须执行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
(绑定,该绑定为:
使用
tmux set-buffer
将xsel -o
命令的输出(即主选择的内容(加载到名为primary_selection
的临时tmux粘贴缓冲区中使用
tmux paste-buffer
将primary_selection
缓冲区粘贴到当前窗格中使用
tmux delete-buffer
删除primary_selection
缓冲区。这是为了避免干扰你的缓冲区。tmux的粘贴命令(默认情况下,Ctrl+b](从最近创建的粘贴缓冲区进行粘贴。我们不希望primary_selection
缓冲区成为您最近创建的缓冲区,并替换Ctrl+b>>绑定的先前缓冲区。我们也不希望primary_selection
缓冲区出现在您的缓冲区列表中。所以我们删除它