我希望在使用 . 查看文件时,文件的每一行仅显示在终端中的一行上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
,可以理解。