Ich verfüge über verschiedene Tools rund um Tmux und den Verlauf, sodass ich zurückverfolgen kann, was wo (insbesondere in welchem Bereich) passiert ist.
In meinem zsh-Preexec kann ich mich (für mein benutzerdefiniertes Shell-Befehlsverlaufsformat) von verschiedenen Informationen abmelden, die ich mit den von mir ausgeführten Befehlen verbinde:
$TTY
wird mir zeigen zB/dev/pts/34
$(tmux display -p "#{window_id} #D")
bietet mir zB@4 %28
Selbst wenn ich nur die habe $TTY
, kann ich die Ausgabe von verwenden
tmux list-panes -a -F '#{pane_tty} #{window_id} #D'
um es abzubilden.
Jetzt wollte ich nur noch diesen Workflow: Ich schaue mir mein benutzerdefiniertes Verlaufsprotokoll an und kann es abrufen @4 %28
, aber es scheint, als müsste ich zwei tmux
Aufrufe ausführen, um den betreffenden Bereich tatsächlich zu fokussieren. Ich muss ausführen
tmux select-window -t @4 && tmux select-pane -t %28
Ich frage mich nur, ob es einen direkteren Weg gibt. tmux select-pane -t @4 %28
, oder, wirklich, dieselect-pane
wahrscheinlichsollte ich das Fenster einfach fokussieren?
Antwort1
Im Allgemeinen bin ich mit der Einfachheit der tmux
CLI-Schnittstelle zufrieden. Ich select-pane
wähle einfach diesen Bereich aus und lasse das Fenster und den Sitzungsstatus unverändert.
In meiner Frage habe ich nicht berücksichtigt, welche Auswirkungen es hat, wenn ich versuche, zu einem bestimmten Fenster zu "navigieren", wenn ich zufällig an ein anderes Fenster angehängt bin.Sitzung. Die CLI ermöglicht es mir, das aktuelle Fenster und die aktuellen Bereiche jeder Sitzung nach Belieben zu ändern und zu jeder beliebigen Sitzung zu wechseln. Wir haben einfach keine benutzerfreundliche Schnittstelle, um all das auf schmerzlose Weise zu erledigen. (Ein Beispiel dafür, dass es nicht schmerzlos ist, ist, dass Sitzungs-IDs so aussehen, $2
dass Sie diese in einfachen Anführungszeichen angeben müssen.)