Terminal 使用tmux的终端中的鼠标滚动和选择

Terminal 使用tmux的终端中的鼠标滚动和选择,terminal,tmux,gnu-screen,Terminal,Tmux,Gnu Screen,我刚刚从GNU屏幕切换到tmux 2.0,我惊讶地发现,我再也不能使用鼠标滚轮和Shift-PgUp/Shift-PgDn滚动回终端历史记录 这对我来说是一个很大的转折点。如何使用tmux进行终端滚动 注:我知道我可以使用鼠标滚轮在tmux缓冲区中滚动,而不是终端缓冲区。此设置的另一个副作用是,我不能再以通常的方式选择鼠标-我必须用鼠标左键按下Shift键 IOW:如何告诉tmux将所有鼠标事件传递给终端仿真器? PPS。Ubuntu 15.10;gnome终端;滚动条在右侧清晰可见,但在屏幕下

我刚刚从GNU屏幕切换到tmux 2.0,我惊讶地发现,我再也不能使用鼠标滚轮和Shift-PgUp/Shift-PgDn滚动回终端历史记录

这对我来说是一个很大的转折点。如何使用tmux进行终端滚动

注:我知道我可以使用鼠标滚轮在tmux缓冲区中滚动,而不是终端缓冲区。此设置的另一个副作用是,我不能再以通常的方式选择鼠标-我必须用鼠标左键按下Shift键

IOW:如何告诉tmux将所有鼠标事件传递给终端仿真器?


PPS。Ubuntu 15.10;gnome终端;滚动条在右侧清晰可见,但在
屏幕下,它们表示只显示了缓冲区的一小部分,而在
tmux下,它们表示没有可滚动的内容。

我怀疑您的问题实际上是,行根本没有放在回滚缓冲区中,而不是tmux接管鼠标和按键

默认情况下,Tmux使用“备用屏幕缓冲区”(您可能会注意到,如果屏幕上有文本,则附加和分离Tmux,文本将返回)。许多终端仿真器不会将在此模式下滚动或擦除的文本放在回滚缓冲区中。要禁用此功能,请执行以下操作:

set -g terminal-overrides 'xterm*:smcup@:rmcup@'
其中,
xterm*
是终端在$TERM环境变量中报告自身的内容。如果以交互方式设置该选项,则可能需要分离、重置端子并重新连接,才能使其工作


注意:如果您使用termcap而不是terminfo,请使用
ti
te
而不是
smcup
/
rmcup

您的终端仿真器是什么?我怀疑问题在于,由于存在滚动区域(本身是由于tmux的“始终打开”状态栏),或者可能是由于smcup/rmcup,您的终端仿真器根本没有在历史记录中延迟滚动的行,而不是tmux接管鼠标(如果它们以前工作过,它不可能接管shift pgup/pgdn)。例如,我可以很好地滚动,但它只显示我附加tmux之前的内容。@Random832:请参阅PPS<代码>屏幕
也有一个常开状态,但它允许滚动。我不使用屏幕,所以不能评论它的不同之处,但是我在我的机器上测试了禁用smcup/rmcup,它似乎解决了问题。我发现您的设置没有任何变化。@您是否尝试将其添加到tmux.conf,然后在新终端中启动一个新的tmux实例,以防某些内容未正确重置?美元期限的价值是多少?你是否关闭了
模式鼠标
?是的,这正是我所做的;我的
术语
xterm-256color
@sds您如何生成要滚动浏览的内容?我不知道如何进一步调查这件事;这个解决方案对我有效。
cat/var/log/messages