有没有办法让“少”截断行并在 < 1 个屏幕后仍然退出?

Wil*_*n F 5 less options

像许多(大多数)一样,我使用 git,它默认将其输出(用于差异、日志等)发送到less,并带有选项-FRSX。通过设置要使用覆盖选项调用的寻呼机,可以在 .gitconfig 中覆盖这些选项。例如:

  pager=less -F -+S
Run Code Online (Sandbox Code Playgroud)

当我设置less在少于一屏输出后退出而不是截断行(即less -F -+S如上例所示)时,我会在运行(例如)log命令后自动返回到我的命令提示符。

但是,如果我确实让它截断了行(即仅使用less -F),并且任何行被截断,那么当它结束时,它不会立即退出,而是打印END并等待我按下Q,这有点烦人。

(请注意,如果没有行被截断,则不会发生有问题的行为,因为它们都比我的终端窄。问题不会发生,因为它被要求截断行,但实际上是这样做的。)

有没有办法less在不到一个屏幕后切线并仍然自动退出?

V13*_*V13 6

嗯...这会违背分页的想法...不是吗?:-)

但是要回答您的问题:我很确定没有。这是来自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)

对不起 :-)