Два набора окон рядом в tmux

Два набора окон рядом в tmux

Мне нравится иметь два сеанса/набора окон рядом,с независимым переключением окон, как на скриншоте - сейчас я делаю это, запуская два отдельных экземпляра Konsole, каждый с tmux attach -t session_name_here, иПотрясающеWMпросто размещает их рядом, как любой X-клиент.

Такой способ создания такого рода макета имеет некоторые недостатки, в основном связанные с портативностью:

  1. Для него требуется X, поэтому его нельзя использовать из «чистой» консоли Linux.
  2. Это может быть не так удобно делать в других средах с нетайловыми WM (например, KDE или MacOS X)

Можно ли сделать то же самое исключительно с помощью tmux, не полагаясь на какие-либо внешние приложения?

И как?

два сеанса/окна рядом

Обновление: выделил жирным шрифтом часть о независимом переключении окон

решение1

Вы можете использовать вложенные сеансы tmux:

┌───────────────────┐
│ ┌──────┐ ┌──────┐ │
│ │      │ │      │ │
│ │      │ │      │ │
│ │tmux 2│ │tmux 3│ │
│ └──────┘ └──────┘ │
│ tmux 1            │
└───────────────────┘

Это довольно неуклюже (например, требует prefixprefixnпереключения "внутренних" окон), но в последних версиях tmux строка состояния может показывать, какой экземпляр контролируется в данный момент. Например, моя конфигурация имеет:

набор -g статус-bg цвет233
набор -g статус-fg цвет250
установить -g статус-левый "#{?client_prefix,#[fg=colour180]=#[fg=default], }#С "
set -g status-right "%b %d, %H:%M "
setw -g window-status-format ' #I #W '
setw -g window-status-current-format '#{?client_prefix,#[fg=colour0]#[bg=colour180],}#Я #W '
setw -g окно-статус-текущий-фон цвет166
setw -g window-status-current-fg цвет0
setw -g окно-статус-активность-bg цвет166
setw -g окно-статус-активность-fg цвет233

( #{?client_prefix}требуется tmux ≥ v1.6)

решение2

Запустите экземпляр tmux, затем выполните , Ctrl+b %чтобы разделить панель по вертикали. Для переключения между панелями используйтеCtrl+b arrow key

решение3

Альтернативный подход: переверните все с ног на голову — переключитесь с Vim на Neovim, используйте :terminalи получите свойтерминалывнутривимразделенные окна:

введите описание изображения здесь

(По умолчанию для выхода из режима ввода с терминала используется сочетание клавиш C-\ C-n, или вы можете щелкнуть по другому буферу.)

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