Показать панель во всех окнах в tmux

Интересно, могу ли я настроить панель в tmux для отображения во всех окнах.

Любые подсказки, как это сделать?

Ответ 1

no вы не можете настроить панель, которая будет привязана к каждому окну в традиционном смысле, но вы можете использовать функциональность tmux link-window для достижения большей части этого эффекта. оберните его в файл сеанса script или tmux, чтобы связать его со многими окнами сразу.

** редактировать

вы также захотите использовать функцию join-pane.

Ответ 2

Конечно, это возможно, но вам нужно запустить tmux внутри панели tmux.

+-------------+-------------+
| tmux pane 1 | tmux pane 2 |
|             |             |
|             |+-----------+|
|             || new tmux  ||
|             ||  session  ||
|             |+-----------+|
+-------------+-------------+

Как это сделать:

  • начать новую сессию tmux
  • разделенная панель
  • unset TMUX в панели 2 # это позволяет tmux в tmux
  • начать новую сессию tmux в панели
  • повторить 1-3
  • run tmux attach -t <target-session> # это открывает общий сеанс

Это не работает так легко, если вы используете обертки для tmux, например, приходят с oh-my-zsh или tmuxinator. И, вероятно, есть много причин, по которым вы не должны этого делать, я просто не знаю никого из них.

Ответ 3

Здесь можно сделать это, но зеркальные панели будут доступны только для чтения. Там команда pipe-pane, которая отправляет вывод панели команде. Вы можете использовать эту команду для записи вывода в файл, а затем из панелей, из которых вы хотите зеркалировать, вы можете tail -f сохранить этот файл. Пример:

# In source pane
tmux pipe-pane 'cat > /tmp/asdf'

# In the target pane (or another tmux session or terminal window)
tail -f /tmp/asdf