我希望在使用 . 查看文件時,文件的每一行僅顯示在終端機中的一行上less
。less -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 -r
less 可以顯示顏色。刪除此別名並刪除-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
,可以理解。