如何设置GNU屏幕以允许鼠标滚轮在滚动缓冲区中滚动?我试着谷歌关于这一点,但大多数点击是关于如何允许屏幕内的应用程序使用滚轮。
当前回答
在屏幕上,你必须首先进入“滚动模式”(或“复制模式”),才能在滚动缓冲区中滚动:组合键Ctrl-a Esc,或Ctrl-a Ctrl-[。然后,您可以使用上下键(或Ctrl-b, Ctrl-f来移动页面)滚动历史记录。
在这种模式下,你的鼠标滚轮也应该工作,如果它在其他应用程序中工作的话。 “scrollback mode”以Esc结束。
至于在不首先进入滚动模式的情况下滚动滚动滚动缓冲区,如果不修改屏幕,这可能是不可能的。除了滚动模式之外,我从未听说过访问滚动缓冲区的方法。
其他回答
使用“Ubuntu 16.04.2 LTS”时的解决方案如下:
a).更新$HOME/。Screenrc与之前的答案一样指定:
termcapinfo xterm* ti@:te@
b).使用“设置”。“首选应用程序”更改默认终端为xterm,通过在下拉列表中选择“X终端”之一。
一些多余的注释
所有其他终端,包括安装“lxterminal”, 对我来说很有用,即使我把termcapinfo行改成了“*” 而不是xterm*。 通过单击屏幕左上角的菜单按钮,您可以 你可以使用右下角第三个图标进入设置对话框吗 角落里。
在运行屏幕之前,将TERM变量设置为vt100而不是xterm也可以。 我已经用了很长时间了,效果很好。
把这个添加到你的.bashrc中:
# make scrollbar / wheel scrolling work when running screen in gnome-terminal (or other)
if [ "$TERM" = "xterm" ]; then
export TERM=vt100
fi
--
作为参考,我的.screenrc有这个(这个AFAIK不需要):
# Extend the vt100 desciption by some sequences.
termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
按Ctrl+a + [
终端的标题栏现在应该显示“复制模式”。
现在方向键和鼠标滚轮应该可以正常工作了。
按“Esc”或连续按“Enter”键恢复正常。
在GNU屏幕内的VIM中使用滚轮:
[vimrc。]
set mouse=a " hold shift to copy xterm
set ttymouse=xterm2 " necessary for gnu screen & mouse
如果上面的答案不适合你,请确保你没有在.screenrc中设置标题或alwayslastline选项。如果你有它们,这将不起作用:
termcapinfo xterm* ti@:te@
如果需要这些信息,可以尝试在终端的标题中设置它(使用termcapinfo)