Less

有沒有辦法讓“less”截斷行並在 < 1 螢幕後仍然退出?

  • September 22, 2015

像許多(大多數)一樣,我使用 git,它預設將其輸出(用於差異、日誌等)發送到less,並帶有選項-FRSX. 通過設置要使用覆蓋選項呼叫的尋呼機,可以在 .gitconfig 中覆蓋這些選項。例如:

 pager=less -F -+S

當我設置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 &gt; 0)  &lt;--- you have chop lines (-S)
{
       ...
       quit_if_one_screen = FALSE;    &lt;--- this resets -F
}

對不起 :-)

引用自:https://unix.stackexchange.com/questions/231427