題 為什麼更少的-F選項不適用於-S選項


在嘗試改善輸出時 hg diff,我注意到了 less-F 選項不適用於它 -S 選項。為什麼會這樣,我怎樣才能達到預期的效果?

這是摘錄 man

   -F or --quit-if-one-screen
      Causes less to automatically exit if the entire file can be dis-
      played on the first screen.

   -S or --chop-long-lines
      Causes  lines  longer than the screen width to be chopped rather
      than folded.  That is, the portion of a long line that does  not
      fit  in  the  screen width is not shown.  The default is to fold
      long lines; that is, display the remainder on the next line.

經過測試 less 444 和 less 436

說明

我錯誤地想到了這一點 -S 將削減多餘的字節。內容位於屏幕右側。

為了實現我想要的,我可以使用 (...) | cut -b -80 | less -FSX


3
2018-05-11 10:01


起源


你真的想要嗎? -S?如果行長於輸出,則其餘部分將被丟棄,並且您將丟失差異中的信息。此外,因為我路過:我希望你使用 color 擴展以獲得彩色差異。 - Daniel Andersson
@Daniel:我覺得跨越多線的長線有點亂。當使用less時如果更改沒有出現在前80列中,我總是可以暫時擴展我的術語窗口。 :) - seler
沒有顏色擴展它會變得非常混亂,但有了它我沒有問題。但我們都是不同的人:-)。 - Daniel Andersson
@Daniel,我從來沒有說我不使用顏色擴展。這個問題是關於少,不是 hg。 - seler


答案:


適合我; less -FS 如果輸入可以在沒有折疊線的情況下打印在一個屏幕上,則立即退出;如果需要滾動(向右或向下),則立即行動。


1
2018-05-11 10:08



我沒有444.您使用的是哪個版本? - seler
@seler:少了443,但我升級到了444,它的行為相同。 - jpalecek
我一直在gnome終端上測試Debian和Xubuntu。你的系統和終端是什麼? - seler
你確定在測試文件中你的線路長度超過終端寬度嗎? - seler
@seler:是的,當然。我用echo生成輸入,就像這樣 echo xxxxxxxxxxxxxxxxx | less -SF -,我進入足夠的地方 x他們包裹並填滿整條線。系統是Debian sid,終端是konsole。我也在控制台中嘗試過,看到行為略有不同:在控制台中, less 當文件適合放在一個屏幕上時,打印文件,在konsole下,它不會(只是退出)。然而,這僅僅取決於 -F 參數(不依賴於 -S)。 - jpalecek