Disabilita il ritorno a capo per l'output nel Terminale


69

Leggo spesso le uscite nel terminale che si incartano perché troppo lunghe. Poiché non è possibile modificare l'output stampato, è necessario che il Terminale consenta lo scorrimento orizzontale.

Esiste una modifica che posso apportare al Terminale OS X predefinito per disabilitare il ritorno a capo e consentire lo scorrimento orizzontale ?

O conosci un'altra alternativa che posso usare?


Vecchia domanda, ma mi sembra che sia ancora irrisolto. Ho bisogno della stessa risposta, poiché per me non posso modificare ulteriormente l'output di, ad esempio, GCC: gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html Con il flag -fmessage-length=0impostato, ottengo ancora più avviso di linea / uscita errore. e io no (per ora).
Michael Trouw,

Risposte:


51

tput ha fatto il trucco per me:

tput rmam

disabilita il ritorno a capo.

tput smam

abilita il ritorno a capo.


13
+1 ma un modo per aggiungere anche lo scorrimento orizzontale?
Erik Allik,

I tasti freccia funzionano per me per passare orizzontalmente alla schermata successiva.
michid,

7
Non vedo come usare i tasti freccia ... non funzionano per me. Questa soluzione sembra semplicemente troncare le linee alla larghezza della finestra corrente. Quando ingrandisco la finestra c'è solo uno spazio vuoto a destra delle righe che conosco contengano più caratteri. Tuttavia, questa soluzione è utile per i miei scopi dal momento che sto visualizzando i registri e le informazioni all'estrema destra sono al momento irrilevanti.
Jason,

2
bella scoperta! mi sono aggiunto un paio di alias zsh memorabili: alias wrapon='tput rmam'&alias wrapoff='tput smam'
Chris J Allen

2
parla di comandi offuscati
Andy,

7

Installa l'output attraverso less -S:

   -S or --chop-long-lines
          Causes lines longer than the screen width to be chopped (truncated)
          rather than wrapped.  That is, the portion of a long line that does
          not fit in the screen width is not shown.  The default is  to  wrap
          long lines; that is, display the remainder on the next line.

Ho cercato di spiegare cosa potrebbe succedere qui , anche se questo non si tradurrà in un modo di scorrere orizzontalmente con una barra di scorrimento, come sembra che tu voglia.


6

iTerm 2 non sembra supportare neanche la disattivazione del ritorno a capo. Potresti semplicemente usare meno o tagliare però:

less /var/log/system.log
expand /var/log/system.log | cut -c 1-$COLUMNS
less -s <<< "$(osascript -e 'tell app "Terminal" to contents of window 1')"

1

Se lo sei (come altri suggeriscono come soluzione, anche se penso che tu abbia chiesto l'output diretto), reindirizza l'output a un file somename.log e aprilo con Applicazioni> Utilità> Log-Viewer (o dalla riga di comando come open somename.log).

Non si trova nel terminale, ma ho trovato il visualizzatore di log quello più adatto a gestire una grande quantità di output (ricerca, scorrimento, filtro).


Penso che intendi il Console.app, giusto? Non è presente Log Viewer.appnelle Utilità. Tuttavia, anche la console si avvolge, l'unica differenza è che le linee lunghe sono contratte per impostazione predefinita. Devi fare clic su di essi per leggere tutto, quindi sfortunatamente non sarà di aiuto.
gentmatt,

0

A seconda di cosa stai cercando di smettere di avvolgere potresti usare vim. Quindi avvia vim sul file con le righe lunghe, quindi digita:

:se nowrap

1
Questo non aiuta, poiché non sto leggendo i file. Sto leggendo le informazioni di rete tramite lsof.
gentmatt,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.