Ich sehe den Befehl `tmux send-keys`, aber gibt es eine Möglichkeit, die Ausgabe an den benachbarten Bereich zu senden?

Ich sehe den Befehl `tmux send-keys`, aber gibt es eine Möglichkeit, die Ausgabe an den benachbarten Bereich zu senden?

In einer Tmux-Sitzung versuche ich herauszufinden, ob es eine schnelle Möglichkeit gibt, einige Ausgaben von einem Bereich an den parallelen Bereich zu senden.

Wenn ich mich beispielsweise im linken Bereich (sagen wir 0,0) befinde und die Ausgabe des pwdBefehls an den rechten Bereich (sagen wir 0,1) senden möchte, gibt es dafür eine schnelle Möglichkeit?

Ich entschuldige mich im Voraus, wenn es hier eine Antwort gibt, aber ich habe viel zu lange gegoogelt und nichts anderes gefunden als tmux send-keys -t right 'some text'

Stattdessen möchte ich die Ausgabe im angrenzenden Bereich anzeigen. Gibt es eine Möglichkeit, dies zu tun?

Antwort1

Ich möchte die Ausgabe im angrenzenden Bereich anzeigen

Wenn Sie den Dateinamen des Terminals kennen, das mit dem anderen Fenster verbunden ist (was ttygedruckt wird), können Sie dort schreiben. Beispiel:

pwd >/dev/pts/1

Aber das nurzeigtZeichen dort; es gibt keine Interaktion mit dem Programm, das im Fenster ausgeführt wird. Sie haben das Wort „Anzeige“ verwendet, aber ich bin nicht sicher, ob Sie das wollen. Die Lösung funktioniert auch ohne tmux.


Wenn Sie die Ausgabe eines Befehls, den Sie in einem anderen Bereich aufrufen möchten, an die Standardeingabe senden möchten, verwenden Sie eine benannte Pipe:

mkfifo foo
pwd >foo

Gehen Sie nun zu einer anderen Shell (einem anderen Bereich) und lesen Sie von foo:

<foo whatever

Dies ist auch nicht von tmux abhängig.


Wenn Sie die Ausgabe in einen anderen Bereich einfügen möchten (z. B. um sie dort zu einem Fragment eines neuen Befehls in einer Shell zu machen):

  1. Rufen Sie es pwdnormal im Quellbereich auf.
  2. Wechseln Sie in den Kopiermodus und kopieren Sie die Ausgabe. Bei Mausunterstützung genügt es, die linke Maustaste gedrückt zu halten und zu ziehen. Nach dem Loslassen der Taste wird der ausgewählte Text automatisch in einem Zwischenspeicher gespeichert.
  3. Zum Zielbereich.
  4. Fügen Sie den gespeicherten Text mit paste-buffer( prefix]standardmäßig) ein.

verwandte Informationen