tmux——有没有办法启用滚动但不选择?

tmux——有没有办法启用滚动但不选择?

我喜欢mode-mouse在 tmux 中打开时,我可以滚动缓冲区,但我不喜欢不能通过选择它来将东西复制到我的操作系统剪贴板(当 tmux 被禁用时)。问题:有没有办法启用鼠标滚动,但不启用选择?我使用的是 KDE konsole,如果有关系的话。我尝试过设置,

set -g mouse-select-pane off
set -g mouse-select-window off

但没有运气——唯一的区别似乎是mode-mouse打开(tmux 捕获滚动和选择)还是关闭(tmux 既不捕获滚动也不捕获选择)。

答案1

由于协议的限制,终端应用程序无法只请求滚动而不请求选择。要么全有,要么全无。因此,即使 tmux 想要,它也无法做你想做的事。

您有以下选择:

  • 设置键盘快捷键,将 tmux 选择复制到系统剪贴板
  • 使用支持设置剪贴板功能的终端,例如 xterm
  • 禁用 tmux 中的任何鼠标使用

不幸的是,你的问题的答案是否定的

答案2

在 Konsole 中按住 Shift 似乎会禁用将鼠标输入发送到 tmux。在 OS X 上,(使用 iTerm2)@demure 建议按住 shift + alt。https://superuser.com/a/599501/573760

答案3

与 OP 的情况没有直接关系,但对于从 Google 到达这里的任何人来说:

如果您在 macOS 上使用 iTerm2,则可以通过在配置文件 -> 终端下取消勾选“报告鼠标点击和拖动”并保持勾选“报告鼠标滚轮事件”来实现。(但请注意,这也会禁用通过单击来选择窗格的功能。)

答案4

如果你想在 Linux 上获取 X 选择剪贴板(单击鼠标中键进行粘贴)

这将为您恢复该功能,同时保持缓冲区功能,tmux 仍在管理选择

bind -n MouseDown2Pane run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
bind -n MouseUp2Pane run "tmux display \"Pasted from selection clipboard\""
bind-key -n MouseDragEnd1Pane run-shell -b "tmux send-keys M-w ;tmux show-buffer|xclip -i; tmux display \"Coppied to selection Clipboard\""

添加到您的 ~/.tmux.conf

相关内容