Tmux: Одна команда для перехода на определенную панель

Tmux: Одна команда для перехода на определенную панель

У меня есть различные инструменты для работы с 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

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

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

Связанный контент