У меня есть различные инструменты для tmux и истории, чтобы я мог отследить, что и где произошло (в частности, на какой панели).

внутри моего zsh preexec я могу выйти (для моего собственного формата истории команд оболочки) различной информации, которую я связываю с командами, которые я выполняю:

  • $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 ответ1

0

Я в целом удовлетворен простотой интерфейса tmux cli ... то, что сделает select-pane , это просто выберет эту панель и оставит окно и состояние сеанса в покое.

В моем вопросе я не учел последствия попыток "перейти" на определенную панель, если мне случится присоединиться к другому сеансу. Cli позволит мне изменять текущее окно и текущие панели любого сеанса по желанию, а также переключаться на любой сеанс. У нас просто нет дружественного интерфейса для того, чтобы делать все это безболезненно. (пример того, как это безболезненно, это то, что идентификатор сеанса выглядит как $2 поэтому вы должны указать их в одинарных кавычках)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .