Wie bekomme ich Mac OS X Terminal.app und Bildschirm / Vim Scrollen, um schön zu spielen?

13

OSX 10.6.3 Terminal.app

Bin ein ziemlich engagierter Bildschirmnutzer. Terminal.app Zeilenpuffer und / oder Scroll scheint bei mir nicht zu funktionieren. Das heißt, während auf dem Bildschirm alles, was über den oberen Rand des Rahmens hinausgeht, nicht mehr angezeigt wird, können Sie nicht zurückblättern. Dies scheint in anderen Terminal-Apps, Gnome, Cygwin, in Ordnung zu sein. Vielleicht ist dies eine Shell-Umgebung, eine Konfiguration oder ein Befehl?

.screenrc:

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

Ich habe versucht, defscrollback hier mit unterschiedlichen Werten zu verwenden, aber es hat keinen Effekt.

Einige .bashrc-Einstellungen:

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

Antworten:

15

In Lion unterscheidet sich der Standard-Terminaltyp. Verwenden Sie diese Zeile .screenrcstattdessen in:

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

indirekt
quelle
Dies funktioniert bei mir nicht :( "echo $ TERM" gibt "xterm-256color" zurück, daher bin ich sicher, dass es der richtige Terminalwert ist, aber kein von mir angegebener Wert wird wirksam.
Tim Harper
15

Tragen Sie in Ihr Home-Verzeichnis .screenrcden folgenden Text ein:

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

Funktioniert auch für Terminal.app.

dmw
quelle
2
Ich weiß, dass dies in Snow Leopard funktioniert hat, aber es scheint nicht in OS X Lion zu funktionieren. Schade :(
Tim Harper
1
Das war genau das, wonach ich gesucht habe - für mich in OS X Lion 10.7.3 mit Terminal.app zu arbeiten - fantastisch!
Dossy
Funktioniert auch unter OS X Lion 10.7.5 (Hinweis: Die Antwort enthält einen leichten Tippfehler. Die Datei, in der Sie den Befehl speichern müssen, lautet ~ / .screenrc, dh in Ihrem Ausgangsverzeichnis in einer Datei mit dem Namen ".screenrc" - nicht "screenrc". Ich habe die Antwort jetzt bearbeitet, um dies
wiederzugeben
8

Ich denke, es sollte auch funktionieren, noch universeller:

termcapinfo xterm* ti@:te@

Das wäre evan universeller. Es ist legal:

termcapinfo * ti@:te@
AB
quelle
Dies ist die beste Antwort, imho.
Steve Bennett
3

Alter Thread ist mir klar, aber für das, was es wert ist:

Wenn Sie ein korrekt konfiguriertes iTerm2 unter Mac OS X Mountain Lion 10.8.2 verwenden, ist es anscheinend nicht erforderlich, eine .screenrc-Datei zu erstellen bzw. zu bearbeiten, wie in Gareths hilfreicher Empfehlung oben beschrieben.

  1. Installieren Sie iTerm2-1_0_0_20120726

  2. Starten Sie iTerm2> Menü "Profil"> "Profile öffnen"> "Standard"> "Profil bearbeiten"> Registerkarte "Terminal"> "Aktivieren":

    • Speichern Sie Zeilen zum Zurückblättern, wenn die App-Statusleiste angezeigt wird
    • Unbegrenzter Scrollback (optional)
  3. Starten Sie iTerm 2 neu (oder starten Sie eine neue Shell)

  4. Test it: Persönlich habe ich auf Ubuntu 12.04.1 LTS unter AWS EC2 SSH-fähig gemacht> byobu gestartet (bereits für die Verwendung von screen anstelle des Standard-tmux konfiguriert)> Scrollback funktioniert jetzt einwandfrei (außerdem ist iTerm sowieso besser als Terminal.)

-dk

David Keenan
quelle
Das ist großartig!!
HaxElit
@ David Keenan Ich bin froh, dass Sie diese Lösung gepostet haben!
Iwan
2

Kurze Antwort:

Geben Sie crtl-a+ ein [und verwenden Sie Ihre Bildlauf- / Pfeiltasten oder pgup/ pgdwn. Um den "Scroll-Modus" (nicht den tatsächlichen Namen) zu verlassen, drücken SieEsc

Lange Antwort: In diesem Artikel geht es um den Scrollback-Puffer des Bildschirms.

lajuette
quelle
Bitte kommentieren Sie die Abwärtsabstimmung.
Lajuette
Hinweis: Diese Methode scheint den laufenden Prozess anzuhalten. Was auch immer gewünscht sein mag
Cavalcade
1

Ich weiß nicht, ob es möglich ist, den Scrollbuffer des Terminals zum Sammeln und Arbeiten mit dem Scrollback des Gnu-Bildschirms zu bringen.

Ich empfehle, dass Sie mehr über den Bildlauf im Bildschirm selbst lesen. Sie müssen ein paar neue Tastenkombinationen lernen - da Sie bereits den Bildschirm verwenden, bezweifle ich, dass Sie das abschrecken werden.

Mit ein wenig Hilfe von Google habe ich einen Blog-Beitrag namens Arbeiten mit dem Scrollback-Puffer gefunden .

Ich hatte nicht wirklich erwartet, dass der Scrollback jemals in den Puffer von Terminal.app integriert werden würde. Was passiert mit dem Puffer des Terminals, wenn Sie von einem virtuellen Bildschirm zum anderen wechseln? Wenn Sie die Verbindung zu einem Computer trennen und drei Stunden später erneut herstellen, ist der Terminal-Puffer nicht mehr synchron.

screenist mein kleines Fenster in einen anderen Server. Mir gefällt, dass der Scrollback-Puffer dieses Bildschirms in der Sitzung erhalten bleibt, sodass ich von jedem Ort aus, an dem ich eine Verbindung herstelle, darauf zugreifen kann. Mir gefällt, dass jeder Bildschirm in meiner Sitzung einen eigenen Scrollback-Puffer hat.

Ich glaube, Sie haben festgestellt, dass dies in Gnome und Cygwin funktioniert, weil screendie xterm-Funktion "Alternativer Bildschirm" verwendet wird. Weitere Informationen hierzu finden Sie in der ersten Frage auf dieser Bildschirm-FAQ- Seite.

Doug Harris
quelle
Danke, tolle Infos. Ja, der Kopiermodus ist sehr vim-like, ich mag. :)
Rustychains
1

Ich benutze iTerm 2 . Unter profiles> terminal gibt es eine Option, die besagt: "Zeilen speichern, um zurückzuscrollen, wenn eine App-Statusleiste vorhanden ist". Das und setzen:

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

in screenrc hat den Trick für mich gemacht. Scrollen!

Runar
quelle
0

Wenn Sie zum Terminal-Menü gehen und Einstellungen auswählen, klicken Sie unten auf die Fensterregisterkarte. Es gibt Optionen für den Bildlauf zurück. Ist das Optionsfeld für Unbegrenzt ausgewählt?

Kennzeichen
quelle
Unbegrenzt ausgewählt
Rustychains
0

Mir ist klar, dass dies ein alter Thread ist und angemessen beantwortet wurde, aber mein Ruf ist nicht hoch genug, um nur die entsprechende Antwort zu kommentieren. In Anlehnung an diese Antwort können Sie die Umgebungsvariable einfach in die rcfile einfügen:

termcapinfo $TERM ti@:te@habe es für mich getan. Es ist wie die Antwort, auf die verwiesen wird, aber keine Platzhalter.

kanatzidis
quelle
0

In meinem Fall bestand das Problem mit der Mac Terminal.app darin, dass mein Standard-Terminalprofil das Terminal nicht als deklariert hat xterm-256color. Das Problem wurde behoben, indem der Wert unter "Terminal deklarieren als" in der Überschrift "Terminfo" auf der Registerkarte "Erweitert" meiner Profileinstellungen geändert wurde.

Wachr
quelle