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你必须在单引号中指定它们)

相关内容