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,可以理解。

相关内容