如何通过清屏“少”退出?

如何通过清屏“少”退出?

我有一个与此相反的问题有没有办法在不清除屏幕的情况下退出“less”?:我less退出时没有清除屏幕,但我从未使用过-X

我使用的选项如下:

$ echo $LESS 
-N -g -i -M -R -w -z-4
$ echo $LESSOPEN
$
$ echo $TERM
ansi

我记得当我less开始改变它的行为时:当我试图向另一个应用程序输入某些内容时,但我的光标位于less打开的终端中。当我意识到我输入了错误的位置并尝试退出时less,文件内容开始保留在我的终端上。我正在使用 MacOS 终端(不是iTerm2)。

正如 @roaima 所建议的,我的问题是在less没有-X.然而,-+X不起作用;并且-X不在LESS.

我使用的是OSXTerminal.app,而不是iTerm2.

答案1

如果您确实想less在退出时清除屏幕,您可以像这样重新定义命令

less() { command less "$@"; clear; }

另一方面,如果您想less保存屏幕的原始内容并在退出时恢复它,这应该是标准行为。 (它通过和/或的ti和条目进行管理。这些是根据终端类型设置的,如 所示。)teTERMINFOTERMCAPecho $TERM

您可以尝试强制关闭该-X选项

less -+X

但如果这也不起作用,请提供运行echo $TERM命令的结果,并且应该可以确定tite值是什么,以及为什么它们不保存和恢复屏幕。

相关内容