Я хотел бы, чтобы каждая строка файла отображалась только на одной строке в терминале при просмотре файла с 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
, и это понятно.