Vim 如何在编辑前重置屏幕?

Vim 如何在编辑前重置屏幕?

例如,在 Linux 上,如果我执行一个具有长输出的命令,dmesg然后使用 vim 编辑文件,则屏幕就像reset命令后一样。

例如,在 HP-UX 上,如果我执行一个具有长输出的命令,dmesg然后使用 vim 编辑文件,则屏幕仍然充满 dmesg 的输出。

如何在使用 vim 编辑之前重置屏幕?

让我们看看,在linux上,屏幕被vim占据,是我想要的吗

在此输入图像描述

在 hpux 上,您将在屏幕上看到部分 dmesg 输出

在此输入图像描述

答案1

问题中的屏幕截图未显示(有些人对在使用其他程序时将环境变量设置为、等的dtterm能力感到困惑,假设这些其他程序与,相同)。TERMdttermxtermdttermxterm

以下是来自 Oracle 文档的屏幕截图:

在此输入图像描述

给定,目前尚不清楚实际使用的终端是什么。

@jeff-schaller 注意到第二个屏幕截图中滚动条的位置,并猜测 OP 期望终端在输入内容时跳到滚动区域的底部。这是xterm和的一个特点rxvt(也许还有一些其他终端)。从xterm 的手册,有资源设置:

scrollKey(班级ScrollCond)
指定按下某个键是否应自动使滚动条转到滚动区域的底部。这对应于 xterm 的私有模式 1011。默认值为“false”。

scrollTtyOutput(班级ScrollCond)
指定到终端的输出是否应自动导致滚动条转到滚动区域的底部。默认值为“true”。

以及相应的菜单项。这dtterm手动的没有提到类似的功能。

另一方面,该reset命令本身不会强制终端滚动到底部(除非作为副作用,例如来自scrollTtyOutput)。

答案2

问题出在我的终端上dtterm。使用 vim 时切换到xterm修复它。

相关内容