2010-11-10 18:40:45 +0000 2010-11-10 18:40:45 +0000
1389

Wie scrolle ich in tmux?

Ich habe gerade angefangen, tmux zu benutzen, und es gefällt mir wirklich, aber ich muss in der Lage sein, innerhalb der Puffer/Panes/Fenster, die ich geöffnet habe, zu scrollen. Es ist mir egal, ob es mit der Maus funktioniert oder nicht. Wenn ich die Tmux-Manpage durchsuche, finde ich nur zwei Fälle, in denen das Wort "Scroll" überhaupt auftaucht, und beide haben mit dem Kopiermodus zu tun. Gibt es eine Möglichkeit, ohne den ganzen Aufwand des Kopiermodus zu scrollen?

Antworten [12]

1685
2010-11-11 03:02:16 +0000

Strg-b dann [ dann können Sie Ihre normalen Navigationstasten zum Blättern verwenden (z.B. Pfeil nach oben oder PgDn). Drücken Sie q, um den Scroll-Modus zu verlassen.

Alternativ können Sie Strg-b PgUp drücken, um direkt in den Kopiermodus zu wechseln und eine Seite nach oben zu scrollen (was sich so anhört, wie Sie es die meiste Zeit wollen)

Im Modus vi (siehe unten) können Sie die Seite auch zeilenweise mit Shift-k und Shift-j nach oben/unten scrollen (wenn Sie sich bereits im Scroll-Modus befinden). Ohne Umschalttaste bewegt sich der Cursor anstelle der Seite.

Auszüge aus der man page :

tmux können von einem angeschlossenen Client aus gesteuert werden, indem man eine Tastenkombination aus einer Präfixtaste, standardmäßig 'C-b' (Strg-b), gefolgt von einer Befehlstaste, verwendet.

The default command key bindings are:

[ Enter copy mode to copy text or view the history.

Function vi emacs
-------- -- -----
Half page down C-d M-Down
Half page up C-u M-Up
Next page C-f Page down
Previous page C-b Page up
Scroll down C-Down or C-e C-Down
Scroll up C-Up or C-y C-Up
Search again n n
Search again in reverse N N
Search backward ? C-r
Search forward / C-s

Plus ein paar mehr. Beachten Sie, dass Sie C-b zweimal drücken müssen, wenn Sie das für das Hochblättern verwenden, da C-b als Befehlstaste gebunden ist. In der Man Page finden Sie Informationen zum Voranstellen eines Befehls für den Kopiermodus mit einer Wiederholungszahl.

Sie können den Tastenbindungsmodus mit Strg-b, dann

:set-window-option mode-keys emacs

oder vi einstellen.

1685
335
2012-11-25 13:05:29 +0000

Nun, Sie sollten sich überlegen, wie Sie den Bildlauf richtig einstellen: Fügen Sie in Ihrem tmux.conf

set -g mouse on #For tmux version 2.1 and up

oder

set -g mode-mouse on #For tmux versions < 2.1

Es hat bei mir in Fenstern und Scheiben funktioniert. Jetzt ist tmux einfach perfekt. Praktischer tmux hat mehr Informationen über tmux.conf-Dateien.

335
147
2011-08-22 20:49:40 +0000

Aus meiner .tmux.conf:

# Sane scrolling
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

Dies ermöglicht natives xterm-Scrolling.

147
63
2015-12-01 16:09:27 +0000

Für den neuesten tmux 2.1, um mit der Maus vernünftig zu scrollen, ist dies die richtige Antwort:

set -g mouse on
" sane scrolling:
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"

es reicht nicht, einfach die .tmux.conf neu zu laden, Sie müssen Ihren tmux neu starten, z.B. tmux kill-server && tmux

entnommen aus https://github.com/tmux/tmux/issues/145

63
16
2015-04-17 03:43:47 +0000

In meinem Fall wählen Sie unter OSX einfach die Option + Pfeil nach oben und die Option + Pfeil nach unten.

16
12
2013-06-21 15:33:39 +0000

Das ist die Art und Weise, wie ich es zum Laufen gebracht habe, und die Gründe, warum ich es für besser als die Standardmethode halte.

Um es auszuprobieren, fügen Sie alle Code-Abschnitte in ~/.tmux.conf ein.

Schritt 1. Ändern Sie den Präfixschlüssel, so dass Sie kein einziges Bit erreichen müssen. 'B' ist scheinbar eine naheliegende Taste, aber sie befindet sich in der Mitte der beiden Zeigefinger (bei 'F' bzw. 'J'). Da diese Abkürzung beim Tmux wesentlich ist, ist C-j viel besser, da es keine Handbewegung erfordert (abgesehen vom Schlagen der Taste).

set -g prefix C-j
unbind C-b
bind C-j send-prefix

Schritt 2. S" (um in den Kopiermodus zu gelangen) ist: 1) nah (aus dem gleichen Grund wie oben), 2) bezieht die andere Hand mit ein (vgl.: die 1-2 im Boxen oder der Befehl ls zum Anzeigen von Dateien in einem Verzeichnis), und 3) könnte man sich als Merkhilfe für "Scrollen" vorstellen (obwohl es beim Kopiermodus nicht nur um Scrollen geht).

bind s copy-mode

Schritt 3. Der letzte Teil, das eigentliche Scrollen. 'P' und 'N' sind den Emacs-Benutzern für diesen Zweck vertraut. Sie sind nah, intuitiv ("P" steht über "N" auf der Tastatur) und mnemonisch ("vorheriges" und "nächstes"). Wenn Sie gerade ein wenig in Emacs gescrollt haben und dann zu tmux gehen, macht es Sinn, diese Abkürzungen zu haben.

Ich fand jedoch heraus, dass 'I' und 'K' sogar noch besser sind - sie sind noch näher als 'P' und 'N', und intuitiv (aus demselben Grund); was die Mnemonik betrifft - da das Scrollen eine so übliche Sache ist, spielt die Mnemonik keine Rolle, da die Abkürzungen Ihr Gehirn bald umgehen und in den Muskelspeicher eindringen werden.

bind -t emacs-copy 'p' scroll-up
bind -t emacs-copy 'n' scroll-down
bind -t emacs-copy 'i' scroll-up
bind -t emacs-copy 'k' scroll-down
12
8
2016-12-07 16:34:30 +0000

Ich würde empfehlen, das Plugin tmux-better-mouse-mode auszuprobieren, um die meisten Ihrer Probleme mit der Tmux-Maus zu lösen.

Es ist kompatibel mit Tmux 2.1+ und dem neuen set-option -g mouse on-Ansatz.

8
8
2016-03-31 00:42:33 +0000

Ich habe viel danach gesucht, und die beste Lösung für mich funktioniert, wie in diesem ausführlichen Leitfaden erwähnt http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/

Fügen Sie diese Bindungen in ~/.tmux hinzu. conf:

set -g mode-mouse on

unbind +
bind + \
  new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
  swap-pane -s tmux-zoom.0 \;\
  select-window -t tmux-zoom

unbind -
bind - \
  last-window \;\
  swap-pane -s tmux-zoom.0 \;\
  kill-window -t tmux-zoom

Mit dem obigen Ansatz können Sie auch aus Teilfenstern in einem Fenster kopieren, indem Sie mit Prefix + zuerst in jedes Teilfenster zoomen.

Ein wichtiges Detail, das im Mausmodus fehlte, ist das Drücken der Umschalttaste vor der Auswahl eines zu kopierenden Bereichs. Dadurch wird er in den traditionellen Terminalpuffer statt in den tmux-Kopierpuffer kopiert. https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues )

8
7
2015-10-28 10:59:33 +0000

Das einzige, was für mich funktioniert, ist das Einfügen des folgenden in ~/.tmux.conf

# Allow xterm titles in terminal window, terminal scrolling with scrollbar, and setting overrides of C-Up, C-Down, C-Left, C-Right
set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

(möglicherweise müssen Sie neu starten, damit dies wirksam wird)

Update:

Ich habe festgestellt, dass diese Lösung nicht mehr funktioniert, wenn Sie die Einstellung in Putty Connection > Data > Terminal-type in "putty" (zur Behebung einiger Formatierungsprobleme) von "xterm" ändern.

Update 2:

Verwenden Sie dies, wenn Sie "putty" als Terminal-Typ wünschen: set -g terminal-overrides "putty*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

7
6
2017-01-04 20:22:53 +0000

Das hat bei mir funktioniert:

vim ~/.tmux.conf
set -g mode-mouse on ###Insert this setting with vim, then source the file.
tmux source-file ~/.tmux.conf
6
4
2019-09-22 02:10:00 +0000

FWIW, auf einem Macbook/OSX Mojave, nach ctrl+[ tun:

  • up arrow für Zeile nach oben
  • down arrow für Zeile nach unten
  • fn + up arrow für Seite nach oben
  • fn + down arrow für Seite nach unten
  • q um den Ansichtsmodus zu verlassen
4
-2
2016-10-26 07:55:46 +0000
  • Strg + A - zum Starten des Bildlaufs
  • Strg + C - zum Beenden des Bildlaufs
-2