像许多(大多数)一样,我使用 git,它默认将其输出(用于差异、日志等)发送到less
,并带有选项-FRSX
。通过设置要使用覆盖选项调用的寻呼机,可以在 .gitconfig 中覆盖这些选项。例如:
pager=less -F -+S
Run Code Online (Sandbox Code Playgroud)
当我设置less
在少于一屏输出后退出而不是截断行(即less -F -+S
如上例所示)时,我会在运行(例如)log
命令后自动返回到我的命令提示符。
但是,如果我确实让它截断了行(即仅使用less -F
),并且任何行被截断,那么当它结束时,它不会立即退出,而是打印END
并等待我按下Q,这有点烦人。
(请注意,如果没有行被截断,则不会发生有问题的行为,因为它们都比我的终端窄。问题不会发生,因为它被要求截断行,但实际上是这样做的。)
有没有办法less
在不到一个屏幕后切线并仍然自动退出?
嗯...这会违背分页的想法...不是吗?:-)
但是要回答您的问题:我很确定没有。这是来自less的源代码:
/*
* The char won't fit in the line; the line
* is too long to print in the screen width.
* End the line here.
*/
if (chopline || hshift > 0) <--- you have chop lines (-S)
{
...
quit_if_one_screen = FALSE; <--- this resets -F
}
Run Code Online (Sandbox Code Playgroud)
对不起 :-)