less -S 不起作用

less -S 不起作用

我希望在使用 . 查看文件時,文件的每一行僅顯示在終端機中的一行上lessless -S無論我如何嘗試,都不適合我。使用標誌-S,無論是在命令列上還是在程式中指定(-S<CR>以 less 形式輸入),該行都會繼續到下面的行,並換行。

對於我正在使用的終端模擬器urxvt,如果重要的話,可以使用以下選項:

rxvt-unicode (urxvt) v9.19 - released: 2013-10-27
options: perl,xft,styles,combining,blink,iso14755,unicode3,encodings=eu+vn+jp+jp-ext+kr+zh+zh-ext,fade,transparent, tint,pixbuf,XIM,frills,selectionscrolling, wheel,slipwheel,smart-resizecursorBlink,pointerBlank,scrollbars=plain+rxvt+NeXT+xterm

這是在.Xdefaults

URxvt.depth:                32
URxvt.geometry:             90x30
URxvt.transparent:          false
URxvt.fading:               0
URxvt.loginShell:           true
URxvt.saveLines:            50
URxvt.internalBorder:       3
URxvt.lineSpace:            -7

! Fonts
URxvt*font: xft:Monospace:pixelsize=20
URxvt*boldFont: xft:Monospace:pixelsize=20:style=bold
! Fix font space
URxvt*letterSpace: -1

加上一些其他配色方案選項。

gnome-terminal也不適用於 ,所以也許它與 無關urxvt

編輯:

less --version給出less 458 (GNU regular expressions).

$less沒有$LESS設定。

答案1

根據 mdpc 的建議,我查看了別名,發現我的 .bashrc 有別名,less因此less -rless 可以顯示顏色。刪除此別名並刪除-r標誌可以解決問題並使-S標誌產生預期的行為。

man less

 -r or --raw-control-chars
          Causes "raw" control characters to be displayed.  The default is to display control characters using the caret  nota-
          tion;  for  example,  a control-A (octal 001) is displayed as "^A".  Warning: when the -r option is used, less cannot
          keep track of the actual appearance of the screen (since this depends on how the screen responds to each type of con-
          trol character).  Thus, various display problems may result, such as long lines being split in the wrong place.

所以-r似乎打破了-S,可以理解。

相關內容