Scrollen auf einem Mac mit Tmux und iTerm

15

Ich verwende iTerm 2.1.4 und Tmux unter OS X Yosemite. Ich möchte meine iTerm-Fenster nach oben und unten scrollen können, bin mir aber nicht sicher, welche Steuerelemente das Scrollen steuern. Steuert tmux das Scrollen, wenn ich es mit iTerm verwende, oder steuert iTerm weiterhin das Scrollen?

Ich habe versucht, die verschiedenen Tasten zu verwenden, mit denen iTerm gescrollt werden soll, aber alles, was ich bekomme, sind "~~~~~" Zeichen in der Befehlszeile. Wie scrolle ich mit diesem Setup?

Strahl
quelle

Antworten:

30

Das Scrollen mit Tmux unterscheidet sich ein wenig vom Scrollen mit einem Mausrad oder einem Trackpad.

In tmux wird das Scrollen durchgeführt, indem zuerst 'prefix- [' gesendet wird. In der oberen rechten Ecke Ihres Terminalfensters sehen Sie ein kleines gelbes Kästchen.

In diesem Modus können Sie mit den Pfeiltasten PageUp, PageDown, Strg-U, Strg-D, hjkl (vi-Modus) oder anderen konfigurierbaren Bewegungstasten vorwärts oder rückwärts durch den Puffer scrollen.

In relativ neuen Versionen von tmux gibt es eine Option, mit der Sie die Maus im Bildlaufmodus verwenden können.

Fügen Sie dies Ihrer .tmux.conf hinzu

set-option -g mouse on

Wenn Speicher zur Verfügung steht, ist tmux außerdem in iTerm integriert, sodass Funktionen wie Multiplexing ebenfalls integriert sind. Gibt es einen Grund, warum Sie tmux in iTerm verwenden möchten? Das eingebaute OSX-Terminal wird definitiv durch einen Multiplexer wie tmux erweitert, aber iTerm versucht, diese Mängel durch eine eigenständige Lösung zu beheben.

EDIT 1: Nach dem Upgrade auf El Capitan bemerkte ich ein ungewohntes Verhalten bei der Verwendung von Terminal.app und tmux. Dies führte mich zu einem ausgezeichneten Artikel mit detaillierten Optionen, die mir nicht bekannt waren und die Ihre Frage gründlicher beantworten sollten, als ich es mir erhoffen konnte. Soweit ich das beurteilen kann, sind alle Optionen tmux-spezifisch und unabhängig von OSX-Versionen. Daher sollte die Verwendung in Yosemite in Ordnung sein. Ihre Frage zum Scrollen wird hier mit folgenden Optionen behandelt:

bind-key -t vi-copy WheelUpPane scroll-up
bind-key -t vi-copy WheelDownPane scroll-down

Viele weitere nützliche Optionen finden Sie in dem unten verlinkten Artikel.

https://ryanfb.github.io/etc/2015/10/19/tmux_mouse_mode_on_el_capitan.html

notdavidcronenberg
quelle
3
Der Link am Ende dieser Antwort ist ausgezeichnet, aber jetzt etwas veraltet. Um Ihr Ziel zu erreichen, müssen Sie auch Folgendes lesen: github.com/tmux/tmux/issues/754#issuecomment-297452143
John Ruiz
Funktioniert nicht für mich auf High Sierra
Ulysse BN
funktioniert in iterm2 mit tmux, bringt sich aber in terminal.app durcheinander, indem Dinge wie das Scrollen in vim aufhören zu funktionieren und dann kopieren und einfügen seltsamer werden
Ishan Srivastava
1

Ich habe folgende Möglichkeiten gefunden, damit umzugehen (macOS Mojave):

  • Aktivieren Sie den tmux-Bildlaufmodus und drücken Sie die Pfeiltaste nach oben. iTerm fordert Sie auf, die oben genannten Einstellungen für das Scrollen festzulegen. Aber falls Sie diese Aufforderung verpasst / abgewiesen haben, werden Sie nicht erneut dazu aufgefordert, denke ich.

  • Gehen Sie zu iTerm-Einstellungen -> "Erweitert" -> "Scrollrad sendet im alternativen Bildschirmmodus Pfeiltasten" -> auf "Ja".

everyonesdesign
quelle