Tmux:轉到特定窗格的單一命令

Tmux:轉到特定窗格的單一命令

我有各種關於 tmux 和歷史記錄的工具,這樣我就可以追溯到哪裡發生了什麼(特別是在哪個窗格中)。

在我的 zsh preexec 中,我能夠登出(對於我的自訂 shell 命令歷史記錄格式)與我執行的命令關聯的各種資訊:

  • $TTY會告訴我例如/dev/pts/34
  • $(tmux display -p "#{window_id} #D")為我提供例如@4 %28

即使我只有$TTY,我也可以使用 的輸出

tmux list-panes -a -F '#{pane_tty} #{window_id} #D'

來映射它。

現在我只想要這個工作流程:我正在查看我的自訂歷史記錄日誌並且我能夠獲取,@4 %28但似乎我必須發出兩次tmux呼叫才能真正聚焦有問題的窗格。我必須跑

tmux select-window -t @4 && tmux select-pane -t %28

只是想知道是否有更直接的方法。tmux select-pane -t @4 %28,或者,實際上,select-pane 大概應該只為我聚焦視窗嗎?

答案1

我總體上對 cli 介面的簡單性感到滿意tmux...select-pane要做的就是簡單地選擇該窗格,並保留視窗和會話狀態。

在我的問題中,我沒有考慮如果我碰巧附加到不同的窗格,則嘗試「導航」到特定窗格的含義會議。 cli 將允許我隨意改變任何會話的目前視窗和目前窗格,以及切換到任何會話。我們只是沒有一個友好的介面來輕鬆地完成所有這些工作。 (它的一個例子就是會話 ID 的樣子,$2所以你必須用單引號指定它們)

相關內容