Ao tentar melhorar a saída de hg diff
, Eu percebi isso less
'S -F
opção não funciona com o seu -S
opção. Por que isso está acontecendo e como posso alcançar o efeito desejado?
Aqui está um extrato de man
:
-F or --quit-if-one-screen
Causes less to automatically exit if the entire file can be dis-
played on the first screen.
-S or --chop-long-lines
Causes lines longer than the screen width to be chopped rather
than folded. That is, the portion of a long line that does not
fit in the screen width is not shown. The default is to fold
long lines; that is, display the remainder on the next line.
Testado em less 444
e less 436
.
Explicação
Eu estava enganado em pensar que -S
irá cortar o excesso de bytes. O conteúdo vai para a direita da tela.
Para conseguir o que eu queria, eu poderia usar (...) | cut -b -80 | less -FSX
.
linux
command-line
bash
less
seler
fonte
fonte
-S
? Se as linhas forem maiores do que a sua saída, o restante será descartado, e você perderá informações no seu diff. Além disso, desde que eu estou passando por: eu espero que você use ocolor
extensão para obter diffs coloridos.hg
.Respostas:
Funciona para mim;
less -FS
sai imediatamente se a entrada puder ser impressa em uma tela sem dobrar linhas e funcionar normalmente se for necessário rolar a tela (para a direita ou para baixo).fonte
echo xxxxxxxxxxxxxxxxx | less -SF -
, onde eu entro o suficientex
s que eles envolvem e preenchem toda a linha. O sistema é Debian sid, terminal é konsole. Eu tentei no console também, e vi uma pequena diferença no comportamento: no console,less
imprime o arquivo quando ele couber em uma tela, sob o konsole, não é (apenas sai). Isso é, no entanto, dependente apenas do-F
parâmetro (não depende de-S
).