我的问题
当我使用鼠标从 tmux 选择文本时,块选择会跨越相邻的窗格。
我尝试过什么
set -g mouse on
- 选择时点击option(Mac 相当于alt)
- shift选择以下内容时点击Tmux 鼠标模式打开不允许用鼠标选择文本
我的问题
如何配置tmux
以允许在多窗格模式下选择鼠标?
答案1
这取决于 tmux 的版本。当 tmux 鼠标打开时,鼠标选择将不会跨越窗格,并将被复制到 tmux 的选择缓冲区中。当 tmux 鼠标关闭时(如描述中所示),鼠标选择将是本机 X(和跨窗格)。
我将以下内容添加到我的~/.tmux.conf
.它将启用CTRL+b 中号(打开 tmux 鼠标)和CTRL+BM(关闭 tmux 鼠标)。
对于 tmux 1.x - 2.0
# Toggle mouse on
bind-key M \
set-window-option -g mode-mouse on \;\
set-option -g mouse-resize-pane on \;\
set-option -g mouse-select-pane on \;\
set-option -g mouse-select-window on \;\
display-message 'Mouse: ON'
# Toggle mouse off
bind-key m \
set-window-option -g mode-mouse off \;\
set-option -g mouse-resize-pane off \;\
set-option -g mouse-select-pane off \;\
set-option -g mouse-select-window off \;\
display-message 'Mouse: OFF'
对于 tmux 2.1+
# Toggle mouse on
bind-key M \
set-option -g mouse on \;\
display-message 'Mouse: ON'
# Toggle mouse off
bind-key m \
set-option -g mouse off \;\
display-message 'Mouse: OFF'
或者,对 tmux 2.1+ 使用单个绑定键切换
# Toggle mouse on/off
bind-key m \
set-option -gF mouse "#{?mouse,off,on}" \;\
display-message "#{?mouse,Mouse: ON,Mouse: OFF}"
当 tmux 鼠标打开并使用鼠标进行选择时,释放鼠标左键应将其复制到 tmux 选择缓冲区并CTRL+b]将粘贴它。
答案2
我不确定 2.7,我正在使用 tmux 3.1c。在 3.1c 中,您可以按prefix+z最大化(“缩放”)窗格(默认情况下)prefix。Ctrl+b然后,您可以进行复制,并再次prefix+z切换回来。
答案3
通常,在按下按钮进行复制时这是预期的行为 - 您将 tmux 转义到不关心垂直边界的底层终端。
否则它应该只突出显示您选择的内容。而且,一旦释放鼠标,选择通常就会消失。但它确实会将选择内容复制到其内部缓冲区,以便以后粘贴。
您可能还会发现相关问题的答案很有用:
答案4
@拉斐尔·施韦克特在评论中提到,只需设置set-option -g mouse
即可修复它(而不是set -g mouse on
),这对我有用,不需要其他任何东西。