我在 Tmux 中将鼠标模式设置为打开,以便我可以使用滚轮set-window-option -g mode-mouse on
。
但是,如果我想复制跨越终端窗口高度的特定命令的输出,按住 Shift 键时无法向下滚动。
为了获得所需的行为,我需要对配置文件进行哪些修改?
答案1
也许你不能。 xterm(以及类似的程序)区分带/不带修饰符的鼠标操作shift:
- 这不变的操作可以被编程,即,应用程序可以发送转义序列,告诉 xterm 为每次鼠标单击发回转义序列。
- 这不变的不能以这种方式对操作进行编程。它们保持原样。
所以tmux
不太可能能够改变这种行为。此外,鼠标按钮的使用方式(同样是旧惯例)是这样的:一个按钮用于开始选择,另一个按钮用于扩展选择,第三个按钮用于粘贴选择。某些终端可能会实现拖拽如果按住扩展选择按钮。
但滚轮鼠标(确实)比协议的其余部分更新得多,可能是从 20 世纪 90 年代中期/后期开始的。在鼠标协议中,它发送假按钮事件,例如按钮 4 和 5。可以实现使用滚轮鼠标扩展选择,tmux
无法控制它 - 并且它可能是内置的/不可配置的。如果您还没有看到所需的行为,那么您可能无法获得它。
与 的区别shift非常古老,并且不限于鼠标操作:在某些平台上, 和page-up键page-down被设置为滚动shift添加修饰符时的终端,而未移动的键可以从应用程序中读取。
进一步阅读: