sds*_*sds 5 terminal gnu-screen tmux
我刚从GNU屏幕切换到tmux 2.0,却惊讶地发现我不再能够使用鼠标滚轮和Shift-PgUp/ 滚动回终端历史记录Shift-PgDn。
对我来说,这是一个重大问题。如何使用tmux 进行终端滚动?
PS。我知道我能做到set-window-option -g mode-mouse on通过使用鼠标滚轮滚动TMUX缓冲区- 不是在终端缓冲区。此设置的另一个副作用是,我无法再按通常的方式进行鼠标选择-我必须Shift用鼠标左键按下。
IOW:如何告诉tmux将所有鼠标事件传递给终端仿真器?
PPS。Ubuntu 15.10; gnome-terminal; 滚动条在右侧清晰可见,但在screen其下方指示仅显示了缓冲区的一小部分,而在tmux其下方则指示没有可滚动的内容。
我怀疑你的问题实际上是行根本没有被放置在回滚缓冲区中,而不是 tmux 接管鼠标和按键。
Tmux 默认情况下使用“备用屏幕缓冲区”(您可能会注意到,如果屏幕上有文本,然后附加和分离 tmux,文本将会返回)。许多终端模拟器不会将在此模式下滚动或擦除的文本放置在回滚缓冲区中。要禁用此功能,请执行以下操作:
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
Run Code Online (Sandbox Code Playgroud)
xterm*您的终端在 $TERM 环境变量中报告的内容在哪里。如果您以交互方式设置该选项,您可能需要分离、重置终端并重新连接才能使其正常工作。
注意:如果您使用 termcap 而不是 terminfo,请使用tiandte而不是smcup/ rmcup。