Tmux 鼠标模式打开不允许用鼠标选择文本

Tmux 鼠标模式打开不允许用鼠标选择文本

我正在使用tmux 2.1并尝试使用鼠标模式

set -g mouse on

它工作正常,我可以tmux通过单击相应的窗口来切换窗口分割。但这样做的缺点是我无法用鼠标选择文本。它是这样的:

在此输入图像描述

正如您所看到的,当我按住鼠标按钮时,所选内容会变成红色,而当我释放按钮时,所选内容就会消失。在没有启用鼠标模式的情况下,“用鼠标选择”完全可以正常工作。

是否有一些解决方法可以打开鼠标模式并能够选择文本?

答案1

如果您Shift在使用鼠标执行操作时按下,则会覆盖鼠标协议并允许您选择/粘贴。它记录在xterm 手册例如,大多数终端模拟器都会复制这种行为。

OS X 的注意事项:在 iTerm 中,Option使用Shift.在 Terminal.app 中,使用Fn.

答案2

托马斯·迪基的答案可能是大多数人正在寻找的答案。

为了提供有关您正在观察的行为的更多背景信息,当tmux鼠标模式打开时,它可以在特定窗格中进行文本选择。这就是屏​​幕截图中显示的红色文本突出显示。当您有拆分窗格并且只想复制其中的文本时,它会很有用。

当您释放鼠标按钮时,所选文本将复制到tmux的内部剪贴板。然后您可以使用 粘贴该文本Ctrl+B ]

不幸的是,它不会复制到系统的主剪贴板,因此您无法选择tmux然后粘贴到浏览器中。不过您可以配置该行为。请参阅此答案如何使用 tmux 进行鼠标复制粘贴

答案3

我遇到了类似的问题,鼠标单击并拖动 ( tmux-yank) 在 MacOS 上停止工作,请尝试Cmd+R

答案4

以下解决方案适用于 tmux 3.3a(可能适用于稍旧的版本)。

# Mouse mode
set-option -g mouse on

bind-key    -T root         MouseDrag1Pane       if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -M }
bind-key    -T root         WheelUpPane          if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -e }
bind-key    -T copy-mode    WheelUpPane          select-pane \; send-keys -X -N 5 scroll-up
bind-key    -T copy-mode    WheelDownPane        select-pane \; send-keys -X -N 5 scroll-down

bind-key    -T copy-mode    MouseDrag1Pane       select-pane \; send-keys -X begin-selection
bind-key    -T copy-mode    MouseDragEnd1Pane    send-keys -X stop-selection
bind-key    -T copy-mode    MouseDown1Pane    send-keys -X clear-selection

相关内容