GNU Screen——水平滚动

GNU Screen——水平滚动

我一直在试图弄清楚这一点——目标是在 GNU Screen 中水平滚动。(为了避免 CLI mysql 查询结果中出现难看的换行。)

如果你这样做:

screen -h 5000 # 5000 lines history
Ctrl-a r # to disable horizontal wrap
mysql -u user -p
SELECT * FROM db.big_fat_table LIMIT 500;
Ctrl-a [ # to enter scroll (copy) mode

现在,您可以分别使用 和 向上和向下滚动Ctrl-bCtrl-d但是如何向右和向左滚动呢?

答案1

我认为关闭该wrap选项不会产生您想象的效果。以下是我的手册页中显示的该wrap选项:

wrap [on|off]

Sets  the  line-wrap setting for the current window.  When line-wrap is
on, the second consecutive printable character output at the last  col-
umn  of  a  line  will  wrap to the start of the following line.  As an
added feature, backspace (^H) will also wrap through the left margin to
the previous line.  Default is ‘on’.

这是一个低级终端功能,与水平滚动无关。

但是,less有一个功能可能会对您有所帮助,该-S开关允许您使用左右箭头键在文件中左右滚动。如果您正在查看包含长行的结果文件,那么这可能非常有用。

答案2

据我所知,screen 不支持水平滚动。Screen 主要模拟硬件终端,而水平滚动不是硬件终端的典型功能。

您可以M-x shell在 Emacs 的缓冲区中运行查询。truncate-lines变量控制长行是否换行。当长行不换行时,+CtrlPgUp+Ctrl向左滚动,+或+向右滚动。x<CtrlPgDnCtrlx>

相关内容