1

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

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

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

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

И как?

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

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

3 ответа3

4

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

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

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

set -g status-bg colour233
set -g status-fg colour250
set -g status-left "#{?client_prefix,#[fg=colour180]=#[fg=default], }#S "
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],} #I #W '
setw -g window-status-current-bg colour166
setw -g window-status-current-fg colour0
setw -g window-status-activity-bg colour166
setw -g window-status-activity-fg colour233

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

2

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

1

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

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

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