Frage Wie kann ich im Ausgabepuffer einer tmux-Shell suchen?


Ich kann das nicht zur Arbeit bringen. Wie kann ich den Puffer einer tmux-Shell durchsuchen?


135
2018-01-09 16:57


Ursprung


Welche Version von tmux (tmux -V) Ich glaube, das wurde in Version 0.9 hinzugefügt. - Dennis Williamson
@Dennis es ist 1.3-1 - NES
Die Version mit finden tmux -V funktioniert nur in späteren Versionen. In Ubuntu / Debian können Sie Folgendes tun: dpkg -l | grep tmux - Niels Bom


Antworten:


Kopiermodus Suche

In der suchen tmux History-Puffer für das aktuelle Fenster, drücken Sie Strg-b  [ betreten copy mode.

Wenn Sie Emacs-Tastenbelegungen (Standard) verwenden, drücken Sie Strg-s Geben Sie dann die zu suchende Zeichenfolge ein und drücken Sie Eingeben. Drücken Sie n um den gleichen String erneut zu suchen. Drücken Sie Flucht zweimal zum Beenden copy mode. Sie können verwenden Strg-r in umgekehrter Richtung suchen. Beachten Sie, dass seit tmux hat die Kontrolle über die Tastatur in copy mode, Strg-s funktioniert unabhängig von der stty ixon Einstellung (die ich gerne als stty -ixon Aktivieren von Vorwärtssuchen in Bash).

Wenn Sie vi-Tastenbelegungen verwenden (Strg-b:set-window-option -g mode-keys vi), Drücken Sie / Geben Sie dann die zu suchende Zeichenfolge ein und drücken Sie Eingeben. Drücken Sie n um den gleichen String erneut zu suchen. Drücken Sie q zweimal zum Beenden copy mode. Sie können verwenden ? in umgekehrter Richtung suchen.

Finde-Fenster

Wenn Sie zu einem Fenster wechseln möchten, das auf etwas basiert, das darin angezeigt wird (dies schließt auch Fensternamen und -titel, aber keine Historie ein), (beginnend mit mehr als einem geöffneten Fenster), drücken Sie Strg-b  f Geben Sie dann die zu suchende Zeichenfolge ein und drücken Sie Eingeben. Sie werden zu einem Fenster mit diesem Text wechseln, wenn es gefunden wird. Wenn mehr als ein Fenster übereinstimmt, wird eine Liste zur Auswahl angezeigt.


212
2018-01-10 01:56



Wie kann ich den Bindungsstil festlegen? (Emacs gegen vi) - Daniel Que
@DanielQue: Schaut euch die tmux Manpage an und sucht nach "mode-keys" und "status-keys". Dies sind Unterbefehle, mit denen Sie den Bindungsstil festlegen können. Alternativ könnte es einfacher sein, eine Umgebungsvariable (EDITOR oder VISUAL) zu dem gewünschten Stil vor dem Start tmux. - Dennis Williamson
Danke, ich habe es zum arbeiten gebracht set-window-option -g mode-keys vi in meinem .tmux.conf. Aber ich war neugierig auf die Variable der Umgebungsvariablen und konnte sie nicht zum Laufen bringen. Ist es eine Shell-Umgebungsvariable oder eine tmux-Umgebungsvariable, die in der conf-Datei gesetzt werden muss? - Daniel Que
@DanielQue: Eine Shell-Umgebungsvariable. Es muss exportiert oder in der Umgebung von tmux platziert werden: VISUAL=vi tmux - Dennis Williamson
Beachten Sie auch, dass es noch keine Regex-Suche gibt, hier ist ein offenes Problem sourceforge.net/p/tmux/tickets/9 - Elijah Lynn


Rufen Sie den Kopiermodus auf und starten Sie die Suche in einem Rutsch

bind-key / copy-mode \; send-key ?

ermöglicht es Ihnen, nur Folgendes zu tun:

 Ctrl + B /

und beginnen Sie mit der Eingabe des Suchbegriffs.

Dump in eine Datei und benutze vim

Wenn die Dinge komplizierter werden, möchte ich nur einen geeigneten Editor verwenden: https://unix.stackexchange.com/questions/26548/write-all-tmux-scrollback-to-a-file

bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer

Jetzt P Dumps den Puffer in eine Datei und dann nur:

vim /tmp/tmux

Getestet in tmux 2.6.


6
2017-09-24 04:53