Come ottenere Mac OS X Terminal.app e lo scorrimento dello schermo / vim per giocare bene?


13

OSX 10.6.3 Terminal.app

Sono un utente schermo piuttosto dedicato. Il buffer di riga Terminal / app e / o scroll non sembrano funzionare per me. Cioè mentre sullo schermo tutto ciò che passa oltre la parte superiore del riquadro scompare, non è possibile tornare indietro. Questo sembra funzionare bene in altre app terminali gnome, cygwin. Forse questa è una shell env, config o command?

Screenrc:

startup_message off  
autodetach on  
shell -$SHELL  
vbell off  
defutf8 on  
caption always  
caption string "%{= wk}%w"  

Ho provato a utilizzare defscrollback qui con valori diversi, ma non ha alcun effetto.

alcune impostazioni .bashrc:

set -o physical  
export TERM=xterm-color  
shopt -s checkwinsize  

Risposte:


15

In Lion, il tipo di terminale predefinito è diverso, quindi dovresti usare questa linea nel tuo .screenrc:

termcapinfo xterm-256color|xterm-color|xterm|xterms|xs|rxvt ti@:te@


Questo non funziona per me :( "echo $ TERM" restituisce "xterm-256color", quindi sono sicuro che sia il valore terminale corretto, ma nessun valore fornito ha effetto.
Tim Harper

15

Nella tua home directory, inserisci nel file .screenrcil seguente testo:

# Make xterm scrolling work properly with screen.
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@

Funziona anche per Terminal.app.


2
So che ha funzionato in Snow Leopard, ma non sembra funzionare in OS X Lion. Peccato :(
Tim Harper,

1
Questo era proprio quello che cercavo - lavorare per me in OS X Lion 10.7.3 con Terminal.app - fantastico!
dannoso

Funziona anche per me in OS X Lion 10.7.5 (Nota: nella risposta c'è un leggero errore di battitura; il file in cui è necessario archiviare il comando è ~ / .screenrc, ovvero nella directory home, in un file denominato ".screenrc" - non "screenrc". Ho modificato la risposta ora per riflettere questo.)
likethesky

8

Penso che dovrebbe funzionare anche, ancora più universale:

termcapinfo xterm* ti@:te@

Questo sarebbe evan più universale. È legale:

termcapinfo * ti@:te@

Questa è la migliore risposta imho.
Steve Bennett,

3

Realizzo il vecchio thread, ma per quello che vale:

Se si utilizza un iTerm2 correttamente configurato su Mac OS X Mountain Lion 10.8.2, sembra che non sia necessario creare / modificare un file .screenrc, come suggerito dall'utile suggerimento di Gareth sopra.

  1. Installa iTerm2-1_0_0_20120726

  2. Avvia iTerm2> Menu Profilo> Apri profili> seleziona Predefinito> Modifica profilo> scheda Terminale> Spunta ON:

    • Salva le righe nello scrollback quando è presente la barra di stato dell'app
    • Scrollback illimitato (opzionale)
  3. Riavvia iTerm 2 (o avvia una nuova shell)

  4. Provalo: Personalmente ho SSH su Ubuntu 12.04.1 LTS su AWS EC2> avviato daobu (già configurato per utilizzare lo schermo, piuttosto che il tmux predefinito)> Scrollback ora funziona bene (in più, comunque, iTerm's mo bettah di Terminal ..)

-dk


È fantastico!!
HaxElit

@David Keenan Sono così felice di aver pubblicato questa soluzione!
Ivan

2

Risposta breve:

Digita crtl-a+ [e usa i tasti di scorrimento / freccia o pgup/ pgdwn. Per uscire dalla "modalità scorrimento" (non il nome effettivo), premereEsc

Risposta lunga: questo articolo sul buffer di scorrimento dello schermo.


si prega di commentare il voto negativo.
Lajuette,

Nota, questo metodo sembra sospendere il processo in esecuzione. Che può o non può essere desiderato
cavalcata il

1

Non so se è possibile ottenere il buffer di scorrimento di Terminal da raccogliere e lavorare con lo scrollback dello schermo di GNU.

Ti consiglio di leggere di più sullo scrollback all'interno dello schermo stesso. Dovrai imparare alcune nuove combinazioni di tasti: dal momento che stai già utilizzando lo schermo, dubito che ti spaventerà.

Con un piccolo aiuto di Google , ho trovato un post sul blog chiamato Working with the Scrollback Buffer .

Non mi aspettavo davvero che lo scrollback si sarebbe mai integrato con il buffer di Terminal.app. Se si passa da una schermata virtuale all'altra, cosa succede al buffer di Terminal? Se ci si disconnette da un computer e si riconnette tre ore dopo, il buffer del Terminale non è più sincronizzato.

screenè la mia piccola finestra su un altro server. Mi piace che il buffer di scorrimento dello schermo persista con la sessione in modo che io abbia accesso ad esso da qualsiasi luogo in cui mi connetto. Mi piace che ogni schermata della mia sessione abbia il proprio buffer di scrollback.

Penso che tu l'abbia trovato funzionante in gnome e cygwin perché screenusa la funzionalità "schermo alternativo" di xterm. C'è più discussione di questo nella prima domanda in questa pagina di domande frequenti sullo schermo .


grazie, ottime informazioni. sì, la modalità di copia è molto simile a vim, mi piace. :)
rustychains

1

Uso iTerm 2 . C'è un'opzione sotto profili> terminale che dice: "Salva le righe nello scrollback quando è presente una barra di stato dell'app". Quello e mettendo:

defutf8 on
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@

in screenrc ha fatto il trucco per me. Scorrimento!


0

Se vai al menu Terminale e selezioni Preferenze ... quindi fai clic sulla scheda della finestra in basso ci sono opzioni per Scrollback, è selezionato il pulsante di opzione per Illimitato?


viene selezionato il numero illimitato
rustychains

0

Mi rendo conto che si tratta di un vecchio thread a cui è stata data una risposta adeguata, ma la mia reputazione non è abbastanza elevata da commentare solo la risposta appropriata. Sulla scia di questa risposta , puoi semplicemente inserire la variabile d'ambiente nel file rc:

termcapinfo $TERM ti@:te@fatto per me. È come la risposta referenziata, ma senza caratteri jolly.


0

Nel mio caso, il problema con Mac Terminal.app era che il mio profilo terminale predefinito non dichiarava il terminale come xterm-256color. La modifica del valore in "Dichiara terminale come" sotto l'intestazione "Terminfo" della scheda "Avanzate" delle impostazioni del mio profilo ha risolto il problema.

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.